2011-07-28 2 views
0

던져 errow. GetSYSACCID는 aspx.cs.x에 정의 된 함수입니다. 문제는 Eval("SYSACCID")이 null 인 경우 GetSYSACCID이 null을 반환하므로 오류가 발생합니다. 어떻게 처리 할 수 ​​있습니까? 나는 이것이 쉬운 것처럼 보이지만 아직도 나에게 고통을주고있다. 당신이 좋아하는 뭔가를 할 수SelectedValue 널은 그래서 이것은 영문 내 코드입니다

+0

드롭 다운 목록을 데이터 바인딩 한 후 코드에서이 작업을 수행하지 않는 이유는 무엇입니까? 이렇게하면 오래된 좋은'if (yourvalue! = null) {}'을 사용할 수 있습니다. –

+1

null을 얻으면'GetSYSACCID'에서 0을 반환합니다. – Mrchief

+0

@ 스티브 B : 나는 그렇게하기를 좋아했을 것이지만,이 더러운 것은 나에 의해 개발 된 것이 아니다. 그것은 다른 직원에 의해 나에게 재능이있다. – Jaggu

답변

2

: 사전에

덕분에 ...

SelectedValue='<%# GetSYSACCID(Eval("SYSACCID") == null ? 0 : Eval("SYSACCID"))%>' 

당신은 null 값을 처리하는 기본값을 가지고있다. 예 :

SelectedValue='<%# GetSYSACCID(Eval("SYSACCID")) ?? 0 %>' 

를 또는 널 (null) 입력을받을 때 return 0GetSYSACCID을 수정

<asp:DropDownList ID="DropDownList1" runat="server" DataSourceID="SqlDataSource2" AppendDataBoundItems="true" 
      SelectedValue='<%#GetSYSACCID(Eval("SYSACCID"))%>' DataTextField="UserName" DataValueField="SYSACCID" > 
      <asp:ListItem Value="0" Text="---Select---"></asp:ListItem> 
     </asp:DropDownList> 
+0

여전히 예외가 발생합니다. – Jaggu

+0

"DropDownList1에 항목 목록에 존재하지 않아 유효하지 않은 SelectedValue가 있습니다." 매개 변수 이름 : 값 " – Jaggu

+0

SqlDatasource가 아무것도 반환하지 않습니까? 즉, 빈 목록에 SelectedValue를 설정하려고합니까? –

0

이보십시오.

+0

나는 여전히 예외를 얻습니다. – Jaggu

관련 문제