AJAX 中Sys.WebForms.PageRequestManager的事件激发顺序

测试代码如下:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Test.aspx.cs" Inherits="AjaxCtpWebDemo.Test" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>无标题页</title>
</head>
<body>
    <form id="form1" runat="server">
   
        <asp:ScriptManager ID="ScriptManager1" runat="server">
        </asp:ScriptManager>
        <%=DateTime.Now.ToString() %><hr/>
        <asp:UpdatePanel ID="UpdatePanel1" runat="server">
            <ContentTemplate>
                <%=DateTime.Now.ToString() %>
                <hr/>
                <asp:Button ID="Button1" runat="server" Text="Button" />
            </ContentTemplate>
        </asp:UpdatePanel>
       <script  type="text/javascript" language="javascript">
          Sys.WebForms.PageRequestManager.getInstance().add_initializeRequest(
      function(sender, e)
      {
          alert("add_initializeRequest");   
      }
  );
  
  
  Sys.WebForms.PageRequestManager.getInstance().add_endRequest(
      function(sender,e){
          alert("add_endRequest");
      }
  );
  
  
  Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(
      function(sender,e){
          alert("add_beginRequest");
      }
  );
  
  
  Sys.WebForms.PageRequestManager.getInstance().add_pageLoaded(
      function(sender,e){
          alert("add_pageLoaded");
      }
  );
  
  Sys.WebForms.PageRequestManager.getInstance().add_pageLoading(
      function(sender,e){
          alert("add_pageLoading");
      }
  );
  
  </script>
  
    </form>
</body>
</html>

 

最终结果如下:

1.页面第一次进入时,会首先激发add_pageLoaded事件

2.异步提交时,事件的激发顺序如下:

add_initializeRequest

add_beginRequest

add_pageLoading

add_pageLoaded

add_endRequest

add_pageLoaded

 

posted @ 2008-06-02 15:18  眼里进了砂  阅读(2506)  评论(0编辑  收藏  举报