2012-09-06 3 views
3

내가 드롭 다운 목록 드롭 다운 목록이 시작 비어 ASP.Net 4.0ASP.Net 드롭 다운 목록 오류

에 다음 코드를 사용하여 오류를 던지고하지에 문제가 있어요 던지는되지 않습니다. 문제의 페이지는 Page_Load 아래의 행 외에 코드가없는 간단한 테스트 페이지입니다.

ddlTest.Items.Add(new ListItem("test","test")); 
ddlTest.SelectedValue = "Fail"; 

페이지를로드 할 때 DDL은 "테스트"를 (예상대로) 유일한 항목으로 표시하고 오류는 발생하지 않습니다. 나는 "item 'Fail'이 존재하지 않는다"같은 항목으로 오류가 발생할 것이라고 생각했습니다.

if (! IsPostBack) 블록 내부와 그 안쪽에서 코드를 모두 테스트했습니다. 결과는 같습니다.

의미가 있습니까? 이것이 왜 오류를 던지지 않는지 이해할 수 없습니다. 모든 설명은 크게 감사하겠습니다.

감사합니다.

답변

0

ddlTest에 항목이없는 경우에만 예외를 throw합니다. 그렇지 않으면 값을 찾지 못합니다.

if (ddlTest.Items.FindByValue("Fail") != null) 
    ddlTest.SelectedValue = "Fail"; 
else 
    //item doesn't exist, do something meaningful here 
+0

당신이 그것에 대해 확신 : 당신이 항목이 목록에 있는지 여부를 확인하려는 경우

당신은 항상 처음을 할 수 있습니까? [MSDN 달리 제안하는] (http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.listcontrol.selectedvalue.aspx) – freefaller

+0

좋아,이 경우 포스트 백 이후 올바른 것입니다. 그러나 실제로 다시 게시가 발생하면 예외가 발생합니다. 좋은 캐치. – Steve

+0

답변 해 주셔서 감사합니다! – user1652628