2010-06-09 3 views
1

두 개의 드롭 다운이있는 양식이 있습니다. 하나의 결정이 다른 하나를 실행합니다.원래 선택된 값을 다시 선택하면 DropDownList selectindexchanged가 실행되지 않습니다.

기본 규칙은 다음과 같습니다

드롭 다운 A -> 항목, 5 또는 6 드롭 다운 B로드를 선택 -> 항목 1, 2 또는 3 드롭 다운 B로드 목록 1 드롭 다운을 선택 목록 2

이것은 처음로드 할 때 잘 작동하고 양식을 저장합니다. 문제는 편집 할 때입니다. 내가 선택 및 편집에 드롭 다운 A.

에서 항목 3을 저장 말할 수 있습니다 :

내가 드롭 다운 변경하는 경우

, 선택 변경된 이벤트가 발생 내가 저장 한 것을 다시 선택하는 경우를 제외하고 내가 그것을 변경할 때마다. 상황에 따라 드롭 다운 A에서 3을 선택할 수 있지만 드롭 다운 B에서 잘못된 목록이 남았습니다. 이벤트가 해당 선택 사항에 대해 리 페어 링하지 않기 때문입니다.

내가 생각할 수있는 모든 트릭을 시도했지만이 문제를 해결할 수없는 것 같습니다.

누구든지 의견이 있으십니까?

(우리는 변수의 값을 설정하고 원래 값 중 하나가 작동하지 않습니다되어 어떻게 생각하는지 취소 할 수있는 컨트롤을 다시 시도. 라디오 버튼 목록과 같은 문제를 시도했습니다.)

+0

확실히 DropDownList의 SelectedIndexChanged 이벤트의 표준 동작은 아닙니다. Page_Load 또는 SelectedIndexChanged 이벤트에서 실행되는 다른 코드는 무엇입니까? 포스트 백 중에도 첫 번째 드롭 다운 값을 설정하는 코드가 있습니까? –

+0

이것은 내가 생각한 것입니다. 그것은 표준적인 행동이 아니어야합니다. 나는 지금 7 년 동안 .net 코딩을하고 그것을 전에 발견하지 못했습니다. 국가/주 조합은 예를 들어 매우 일반적입니다. 컨트롤은 표준 드롭 다운입니다. 유일한 것은 동적 폼 빌더입니다. 즉, db의 양식을 "설명하는"시스템을 작성했으며,이를 "맵 세트"라고하는 것을 기반으로 즉석에서 작성합니다. 이론적으로 프런트 엔드 동작은 동일해야합니다. – Solyad

+0

나는 post back에 페이지 렌더링 전에 설정되는 값이 있다고 생각했지만 모든 선택에 대해 발사를 막을 것이라고 상상했을 것입니다. 그냥 원래 선택을 위해 발사하지 않습니다. 나는 심지어 IE 개발자에서 생성 된 html을 보았고 html로 렌더링되는 것을 볼 수 없었습니다. 나는 이것으로 완전히 당황하게된다. (나는 심지어 내 책상에서 3 명의 다른 사람들과 함께 제안을 시도했지만 아무도 그것을 이해할 수 없다! – Solyad

답변

1

하지 않음 나는 당신의 문제를 완전히 이해했음을 확신하지만 목록에 여분의 공란이나 모조품 (-을 선택하십시오)을 추가하고 이것을 기본 선택된 항목으로 삼는 것을 고려하십시오. 이렇게하면 사용자가 유효한 항목을 선택하자 마자 원래 항목에서 항상 변경됩니다.

+0

첫 번째 항목으로 잘 작동합니다. 첫 번째 항목으로 선택하십시오. 편집 중 문제가 발생했습니다. "선택하십시오"는 더 이상 원래 선택 사항이 아닙니다. 이벤트를 분명히 발생 시키지만, (예를 들어, u가 이벤트를 발생시킬 필요가 없음을 알기 때문에 U가 정확한 것을 모두 가지고 있음을 깨닫는다. 나는 마음에 다른 컨트롤을 발사하도록 설계되지 않았다고 생각한다. – Solyad

관련 문제