2010-12-10 7 views
0

사이트 (컴파일 된 사이트)의 코드 숨김 파일을 수정할 수 없다고 가정하고 완전히 수정 될 수있는 버그가 발생했습니다 완전한 재 컴파일 및 재배포가 필요합니다. 안타깝게도 엄격한 배포 일정으로 진행 중이며 11 일 동안은 배포 할 수 없습니다..Net 클라이언트 측 DropDownList 값 변경

내가 선택한 값이 "-1"이 아닌지 확인하기 위해 드롭 다운에 대한 점검을하고있는 것이 버그입니다. 그러나 drp.SelectedItem.Value를 사용하지 않았고 drp.Items [0] .Value를 사용했습니다. 내 머리 부분을 움직입니다. 결론은 drp.Items [0] .Value가 항상 -1이므로 페이지에 드롭 다운 옵션을 선택해야한다는 오류가 사용자에게 표시됩니다. 그들은 실제로 가지고 있지만 내 버그는이 과정에서 그들을 계속하지 못하게합니다.

왜냐하면 나는 바보입니다.

그래서 클라이언트 측에서 첫 번째 drp 항목의 값을 드롭 다운의 실제로 선택한 값으로 바꿀 수 있는지 확인하려고합니다.

이 모든 것이 클라이언트 측에서 작동하지만 양식이 다시 게시 될 때 값은 여전히 ​​"-1"을 의미하는 코드에서 채워진 값입니다.

드롭 다운이로드되고 모든 값이 ViewState에 보관되기 때문에 이것이 확실합니다.

누구나 .Net 친화적 인 해결책을 생각할 수 있습니까? 나는 그것이 정말로 있기를 바라고있다.

답변

0

브라우저가 포스트 백을 만들 때 모든 컨트롤이 기본값으로 다시 생성 된 다음 viewstate 및 값을 업데이트합니다. DropDownList 컨트롤은 ListItems 값을 다른 값 컬렉션에서 업데이트하지 않습니다. 우리가 ListItem의 값을 클라이언트 측에서 javascript로 변경하면, 서버 측에서는 우리의 컨트롤에 ListItem의 콜렉션에 기본값이 포함될 것입니다. 우리의 경우에는 -1입니다.

감사합니다. 디마.

+0

감사합니다. 나는 그것을 두려워했다. –