2011-02-17 4 views
0

선택한 인덱스가 변경되어 선택한 인덱스 변경 이벤트를 실행해야하는 드롭 다운을 확인하는 방법은 무엇입니까?선택한 인덱스가 변경되어 선택한 인덱스 변경 이벤트를 실행해야하는 드롭 다운을 확인하는 방법은 무엇입니까?

가정하자 나 상품 다음있다 ObjectDataSource를 및 ObjectDataSource를 함께 묶여되는 드롭을 OPT1 OPT2 opt3 opt4 그럼 첨가 기본값 조회하기 ObjectDataSource를하는 현재 드롭 채워 내가 볼 수 그것에 관한 모든 항목. 단추가 있고 해당 클라이언트를 클릭하면 자바 스크립트를 통해 선택한 항목에 opt4를 설정합니다. 이제 내가 선택한 --select-- 드롭 다운에서 선택한 인덱스가 변경된 이벤트를 발생시키지 않지만 드롭 다운의 데이터 바운드 이벤트를 발생시킨 다음 다른 값을 선택하면 두 이벤트가 발생하고 다시 선택하면 --select-- 다음 두 이벤트를 발생 시키십시오 - 선택한 경우 --select - 선택한 인덱스 변경 이벤트를 발생시키지 않습니다 -하지만 --select-- 이외의 선택하면 두 이벤트를 발생시킵니다.

제 질문은 dorpdown이 선택 색인이 변경되었음을 확인하는 방법입니다.

+0

더 명확히 할 수 없습니까? – Dotnet

+0

@ 도라 바부 : 질문이 업데이트되었습니다. –

답변

0
그것은 includeStagesBeforeAsyncPoint에 해당하는 경우 항상 DropDownList로 다시 게시에 발생한다 OnSelectedIndexChanged과 같은

System.Web.UI.Page

private void ProcessRequestMain(bool includeStagesBeforeAsyncPoint, bool includeStagesAfterAsyncPoint) { 
    if (includeStagesBeforeAsyncPoint) { 
     ... 
     if (this.IsPostBack) { 
      ... 
      this.RaiseChangedEvents(); 


internal void RaiseChangedEvents() { 
    ... 
    for (int i = 0; i < this._changedPostDataConsumers.Count; i++) { 
     ... 
     postBackDataHandler.RaisePostDataChangedEvent(); 
    } 
} 

System.Web.UI.WebControls.DropDownList

void IPostBackDataHandler.RaisePostDataChangedEvent() 
{ 
    this.RaisePostDataChangedEvent(); 
} 

protected virtual void RaisePostDataChangedEvent() { 
    .. 
    this.OnSelectedIndexChanged(EventArgs.Empty); 
} 
+0

대답 plz를 자세히 설명해 주실 수 있습니까? –

관련 문제