UpdatePanel PageRequestManager。延迟回发

时间:2011-01-24 21:44:13

标签: asp.net jquery ajax updatepanel

我正在尝试在UpdatePanel中的每个回发请求之前和之后添加一些JQuery动画。到目前为止我所拥有的是这样的:

<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.不要真的想要使用这样做的隐藏按钮。

1 个答案:

答案 0 :(得分: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
}