2011-01-24 72 views
0

我想添加一些JQuery動畫之前和之後,每個回發請求是在我的UpdatePanel內。我到目前爲止是這樣的:UpdatePanel PageRequestManager。延遲迴發

<script type="text/javascript"> 
    $(document).ready(function() { 
     Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler); 
     Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(BeginRequestHandler); 

     function EndRequestHandler(sender, args) { 
      if (args.get_error() == undefined) { 
       // End Request (1) 
      } 
     } 

     function BeginRequestHandler(sender, args) { 
      // Start Request (2) 
     } 

     $('.MyButtons').live('click', function() { 
      // Before request (3) 
     }); 
    }); 
</script> 

<asp:UpdatePanel runat="server"> 
    <ContentTemplate> 
     <asp:Button runat="server" CssClass="MyButtons"/> 
    </ContentTemplate> 
</asp:UpdatePanel> 

讓我們說,我希望把在(3)將被執行一些動畫代碼,然後用BeginRequestHandler功能進行。我應該怎麼做?因爲現在整個過程執行3,2,1,我不知道如何在步驟3和步驟2之間添加延遲。換句話說,我想在步驟3手動執行步驟2.不想真的要使用隱藏的按鈕來做到這一點。

回答

0

好吧,我結束了使用下列內容:

$('.MyButtons').live('click', function() { 
    var element = this; 
    $('#hideMe').hide('slow', function() { 
     __doPostBack(element.id.replace(/_/g, '$'), ''); // This will trigger a postback on a clicked server control 
    }); 
    return false; // This will prevent asp.net click event on the server control 
}