2012-10-08 4 views
1

드롭 다운 목록 (asp : Dropdownlist)에서 항목을 선택하면 blockUI를 사용하여 페이지를 차단하고 싶습니다. 항목이 선택되면 UI가 "차단됨"상태가되지만 차단 된 상태로 유지됩니다. 다시 게시 이벤트가 해고되지 않는 것 같습니다. 나는 서버에 다시 게시하는 버튼을 클릭 할 때 UI를 차단하고 차단 해제 할 수 있으며 필요로하는 것을 처리하고 다시 돌아와 페이지의 차단을 해제 할 수 있습니다. 드롭 다운 목록에서 동일한 작업을 수행 할 수 없습니다. 어떤 제안?JQuery BlockUI Dropdownlist

<script type="text/javascript"> 
    var URL; 

    function showWaitPanel(msg) { 
     $.blockUI({ 
      message: '<p>' + msg + '</p>' 
      ,css: { 
       border: 'none', 
       padding: '15px', 
       backgroundColor: '#000', 
       '-webkit-border-radius': '10px', 
       '-moz-border-radius': '10px', 
       opacity: .5, 
       color: '#fff' } 
     }); 
    } 

    function removeWaitPanel(msg, url) { 
     $.unblockUI(); 

     if (msg != '') { 
      $.blockUI({ message: '' + msg + '' }); 
      setTimeout($.unblockUI, 20000); 
     } 

     if (url != '') 
      window.location.href = url; 
    } 

</script> 

  <asp:DropDownList ID="ddlVendors" runat="server" AppendDataBoundItems="true" AutoPostBack="true" OnSelectedIndexChanged="ddlVendors_SelectedIndexChanged" > 

.... 서버 측에서 숨김

... Page_Loa 클라이언트 측 (D) (...) {

 if (!Page.IsPostBack) 
     { 
      ddlVendors.Attributes.Add("onchange", "return showWaitPanel('Please Wait...');"); 
    } 

}

protected void ddlVendors_SelectedIndexChanged(object sender, EventArgs e) 
    { 
     ..... 
     RemoveWaitPanel("ddlVendors_SelectedIndexChanged", "", ""); 
    } 

    private void RemoveWaitPanel(string key, string message, string url) 
    { 
     string strScript = "return removeWaitPanel('" + message + "', '" + url + "');"; 

     ScriptManager.RegisterClientScriptBlock(this, GetType(), key, strScript, true); 

    } 

showWaitPanel()는 항목이 선택되면, UI가 차단 그런데 서버 측 ddlVendors_SelectedIndexChanged (게시) 케이 실행됩니까 실행하지 마십시오

+1

첫 제안은 * 코드를 공유하는 것입니다 .. –

+0

@MichalKlouda .. Michal은 코드와 함께 원래 게시물을 업데이트했습니다 .. 감사합니다. – user1634332

답변

0

모든 클라이언트 측에서 수행 할 것을 고려하십시오. 예를 들어, 아약스 호출을 살펴 보았습니다.
이전에 발생한 다른 이벤트를 살펴볼 수 있습니까?
처럼 :

  1. 표시로드 표시
  2. 블록 UI
  3. 아약스 전화
  4. 숨기기로드 인디케이터 (우리가 우리의 웹 메소드로부터 데이터를)
  5. 차단 해제 UI.