2011-10-03 5 views
0

업데이트 패널이 실행되면 스크립트가 실행됩니다. Sys.WebForms.PageRequestManager.getInstance(). add_endRequest (EndRequestHandler); 함수 EndRequestHandler (보낸 사람, args) { initDropSearch(); } initDropSearch 함수() {검색 결과 일단특정 updatePanel이 실행 된 후 JQuery를 실행하십시오.

var search = jQuery("#searchBar div.productSearchFilter"); 

    if (search.length > 0) { 

     var grid = search.find("table.gridView"); 

     if (search.next().val() != "open") { 

      search.animate({ 
       height: ['toggle', 'easeOutBounce'], 
       opacity: 'toggle' 
      }, 1000) 

      .next().val("open"); 

     } else { 

      search.show(); 

     } 
    } 
} 

은 컨테이너 아래 반송 삭제 로딩 하였다.

완벽하게 작동합니다. 즉, 같은 페이지에서 다른 업데이트 패널이 트리거 될 때까지 - 검색 패널이 다시 열립니다.

특정 updatePanel이 실행될 때만 스크립트를 실행하면됩니다.

이 방법이 있습니까?

답변

1

을 트리거 한 UpdatePanel에 대한 데이터가 sender 또는 args에 포함되어 있습니까?

만약 그렇다면 어떤 것을 트리거했는지 확인하고 그에 기반하여 코드를 실행하십시오.

function EndRequestHandler(sender, args) { 
    if (((UpdatePanel)sender).ID == "UpdatePanel1") { 
     initDropSearch(); 
    } 
} 
+0

@Chris에서 제공하는 코드는 javascript입니다. 그래서 타입 캐스팅을 사용할 수 없습니다. 그러나 나는 당신의 대답의 나머지 부분이 정확하다고 생각하며,이 객체들 중 하나는 이벤트를 트리거 한 UpdatePanel에 대한 정보를 가지고 있다고 생각합니다. – Beniamin

관련 문제