MSAJaxEvents

preview
需积分: 0 9 下载量 165 浏览量 更新于2013-09-09 收藏 102KB PDF 举报
MSAJaxEvents 描述了一个在客户端页面生命周期中被 Microsoft AJAX Library 的两个主要类 Application 和 PageRequestManager 触发事件的过程。这两个类在*** AJAX框架中非常重要,因为它们提供了与页面异步请求相关的一系列事件。以下详细知识点围绕这两个类的主要事件及其用途展开: 1. Application 类事件 - load 事件:是初始请求(GET请求)和同步回发的关键事件。当在load事件处理器中运行的脚本时,所有脚本和组件都已经加载并可用。这个事件通常用于执行首次页面加载时的初始化工作。 - unload 事件:在页面卸载前触发,是 load 事件的补充。此事件常用于执行清理工作,比如取消定时器、断开数据库连接等。 2. PageRequestManager 类事件 PageRequestManager 类处理由 UpdatePanel 控件启用的部分页面渲染时的关键客户端事件。 - initializeRequest:在异步回发初始化过程中触发。开发者可以在这个阶段准备回发请求。 - beginRequest:在异步回发发送到服务器之前触发。开发者可以利用此事件取消或更改即将发生的回发操作。 - pageLoading:在响应从服务器返回之前触发,此时页面上的内容还没有更新。开发者可以利用此事件来执行一些在页面内容刷新前需要完成的任务。 - pageLoaded:在异步回发完成并更新了页面内容后触发。此时,页面已经完全刷新。 - endRequest:在异步回发完成后触发,此时控制权已返回给浏览器。如果发生错误,页面不会更新。开发者可以使用此事件提供定制化的错误通知给用户或记录错误日志。 3. 添加和移除事件处理器 要添加或移除由 Application 和 PageRequestManager 类触发的事件处理器,可以使用这两个类的 add_eventName 和 remove_eventName 方法。 4. PageRequestManager 实例的获取 Sys.WebForms.PageRequestManager.getInstance() 方法获取当前页面的 PageRequestManager 实例。通过此实例可以访问特定的事件处理器,例如,可以编写 pageLoad 函数来初始化异步请求的事件处理器。 5. 客户端生命周期事件的顺序 整个客户端页面生命周期事件的触发顺序如下:先触发 Application 的 init 事件,然后是 PageRequestManager 的 beginRequest、pageLoading、pageLoaded 和 endRequest 事件。当所有脚本都加载完毕,并在创建对象之前触发 Application 的 load 和 unload 事件。 6. 客户端错误处理 在异步回发过程中可能会发生错误,开发者可以利用 PageRequestManager 的 error 事件来捕捉这些错误,并向用户提供错误提示或进行错误记录。 7. 初始化阶段的特殊事件 在页面首次渲染时,存在一些只触发一次的事件,比如 Sys.ApplicationEvents 中的 init 事件,它在异步回发开始处理之前触发。同时,如果存在正在处理的回发,可以使用 abortPostBack 方法来停止它。 整个MSAJaxEvents的知识点讲述了一个异步页面请求处理中事件的管理和应用,这对于理解和掌握*** AJAX库中客户端事件的机制,以及如何通过事件来控制和定制页面行为是非常重要的。通过这些事件,开发者可以更好地处理页面更新、错误处理和资源管理等问题。