&, 中国站长下载" />

分类广告


推荐文章

  • 没有找到任何内容!
您当前的位置:中国站长下载网络编程NET专区 → 文章内容

ASP.NET AJAX 客户端生命周期事件 3

  • 作者:佚名    来源:不详    发布时间:2007-6-30 10:20:20
  • 字体大小:
     27 <asp:UpdatePanel ID="OuterPanel" UpdateMode="Conditional" runat="server">


  28 <ContentTemplate>
  29 Postbacks from inside the outer panel and inner panel are
  30 asynchronous postbacks. PRM = Sys.WebForms.PageRequestManager. APP = Sys.Application.
  31
  32 <br /><br />
  33 <asp:Button ID="OPButton1" Text="Outer Panel Button" runat="server" />
  34 Last updated on
  35 <%= DateTime.Now.ToString() %>
  36 <br /><br />
  37
  38 <asp:UpdatePanel ID="NestedPanel" UpdateMode="Conditional" runat="server">
  39 <ContentTemplate>
  40 <asp:Button ID="NPButton1" Text="Nested Panel 1 Button" runat="server" />
  41 Last updated on
  42 <%= DateTime.Now.ToString() %>
  43 <br />
  44 </ContentTemplate>
  45 </asp:UpdatePanel>
  46 </ContentTemplate>
  47 </asp:UpdatePanel>
  48
  49 <input type="button" onclick="Clear();" value="Clear" />
  50
  51 <asp:Button ID="FullPostBack" runat="server" Text="Full Postback" />
  52 <a href="http://www.microsoft.com">Test Window Unload</a>
  53 <br />
  54 <span id="ClientEvents"></span>
  55 </div>
  56 </form>
  57</body>
  58</html>
  59
  
  脚本代码:
  
  
  
   1// Hook up Application event handlers.
   2var app = Sys.Application;
   3app.add_load(ApplicationLoad);
   4app.add_init(ApplicationInit);
   5app.add_disposing(ApplicationDisposing);
   6app.add_unload(ApplicationUnload);
   7
   8
   9// Application event handlers for component developers.
  10function ApplicationInit(sender) {
  11 var prm = Sys.WebForms.PageRequestManager.getInstance();
  12 if (!prm.get_isInAsyncPostBack())
  13 {
  14 prm.add_initializeRequest(InitializeRequest);
  15 prm.add_beginRequest(BeginRequest);
  16 prm.add_pageLoading(PageLoading);
  17 prm.add_pageLoaded(PageLoaded);
  18 prm.add_endRequest(EndRequest);
  19 }
  20 $get('ClientEvents').innerHTML += "APP:: Application init. <br/>";
  21}
  22function ApplicationLoad(sender, args) {
  23 $get('ClientEvents').innerHTML += "APP:: Application load. ";
  24 $get('ClientEvents').innerHTML += "(isPartialLoad = " + args.get_isPartialLoad() + ")<br/>";
  25}
  26function ApplicationUnload(sender) {
  27 alert('APP:: Application unload.');
  28}
  29function ApplicationDisposing(sender) {
  30 $get('ClientEvents').innerHTML += "APP:: Application disposing. <br/>";
  31
  32}
  33// Application event handlers for page developers.
  34function pageLoad() {
  35 $get('ClientEvents').innerHTML += "PAGE:: Load.<br/>";
  36}
  37
  38function pageUnload() {
  39 alert('Page:: Page unload.');
  40}
  41
  42// PageRequestManager event handlers.
  43function InitializeRequest(sender, args) {
  44 $get('ClientEvents').innerHTML += "<hr/>";
  45 $get('ClientEvents').innerHTML += "PRM:: Initializing async request.<br/>";
  46}
  47function BeginRequest(sender, args) {
  48 $get('ClientEvents').innerHTML += "PRM:: Begin processing async request.<br/>";
  49}
  50function PageLoading(sender, args) {
  51 $get('ClientEvents').innerHTML += "PRM:: Loading results of async request.<br/>";
  52 var updatedPanels = printArray("PanelsUpdating", args.get_panelsUpdating());
  53 var deletedPanels = printArray("PanelsDeleting", args.get_panelsDeleting());
  54
  55 var message = "-->" + updatedPanels + "<br/>-->" + deletedPanels + "<br/>";
  56
  57 document.getElementById("ClientEvents").innerHTML += message;
  58}
  59function PageLoaded(sender, args) {
  60 $get('ClientEvents').innerHTML += "PRM:: Finished loading results of async request.<br/>";
  61 var updatedPanels = printArray("PanelsUpdated", args.get_panelsUpdated());
  62 var createdPanels = printArray("PaneslCreated", args.get_panelsCreated());
  63
  64 var message = "-->" + updatedPanels + "<br/>-->" + createdPanels + "<br/>";
  65
  66 document.getElementById("ClientEvents").innerHTML += message;
  67}
  68function EndRequest(sender, args) {
  69 $get('ClientEvents').innerHTML += "PRM:: End of async request.<br/>";
  70}
  71
  72// Helper functions.
  73function Clear()
  74{
  75 $get('ClientEvents').innerHTML = "";
  76}
  77function printArray(name, arr)
  78{
  79 var panels = name + '=' + arr.length;
  80 if(arr.length > 0)
  81 {
  82 panels += "(";
  83 for(var i = 0; i < arr.length; i++)
  84 {
  85 panels += arr[i].id + ',';
  86 }
  87 panels = panels.substring(0, panels.length - 1);
  88 panels += ")";
  89 }
  90 return panels;
  91}
  92
  
  运行效果 查看代码
  
  Event Order for Common Scenarios【一般事件发生顺序】