ASP.NET AJAX客户端生命周期分析(实践篇)
http://tech.ddvip.com 2007年08月25日 社区交流
内容摘要:本文中,我们使用一个具体的例子针对ASP.NETAJAX客户端生命周期中涉及的主要事件引发的顺序给出了追踪分析。但此示例显然有其特殊性且仍嫌粗略,实际开发中宜结合具体问题作针对性分析,以图从根本上掌握ASP.NETAJAX客户端生命周期中引发的主要事件先后顺序及其间的逻辑关系。
◆获得了从服务器端返回的对第一次请求的响应。
下面是客户端事件发生的顺序:
1、点击UpdatePanel中的按钮将引发一次异步回送。
2、PageRequestManager实例将引发initializeRequest事件。3、PageRequestManager实例引发beginRequest事件。4、请求被发送到服务器。5、再次点击按钮,引发第二次异步回送。6、PageRequestManager实例针对第二次按钮点击引发initializeRequest事件。7、PageRequestManager实例针对第一次按钮引发endRequest事件。8、PageRequestManager实例针对第二次按钮点击引发beginRequest事件。9、因第二次点击引发的请求被发送到服务器端。10、接收到针对第二次点击的响应。11、PageRequestManager实例引发loading事件。12、PageRequestManager实例引发pageLoaded事件。13、Application实例引发load事件。14、PageRequestManager实例引发endRequest事件。【注意】默认情况下,异步回送行为一般是最近发生的那次异步回送优先级较高。如果两个异步回送按顺序发生,并且第一个异步回送仍在浏览器处理中,则第一个回送将被取消。如果第一个回送已被发送到了服务器端,则服务器在第二个请求到来并处理它之前是不会返回第一个请求的。
(四)当用户浏览焦点脱离开本页面时引发事件的情况
当用户从本页面转向访问其它页面时,当前的页面会从浏览器中卸载;因此,这时你可以通过控件unload事件来释放有关资源。我们不妨假定当用户转向访问其它页面时存在如下情况:
◆页面中包括一个ScriptManager控件,并且该控件的SupportsPartialRendering和EnablePartialRendering属性都为true。
◆存在将转向的目标页面。于是,下面对应发生在客户端的事件顺序:
1、初始化一个对新页面的请求;
2、浏览器获得请求新页面的响应;3、Application实例引发unload事件;4、显示新页面。如果在新页面请求时发生了错误,依然会引发unload事件;只是不显示新页面罢了。
四、总结
本文中,我们使用一个具体的例子针对ASP.NETAJAX客户端生命周期中涉及的主要事件引发的顺序给出了追踪分析。但此示例显然有其特殊性且仍嫌粗略,实际开发中宜结合具体问题作针对性分析,以图从根本上掌握ASP.NETAJAX客户端生命周期中引发的主要事件先后顺序及其间的逻辑关系。
来源:51CTO.com 作者:朱先忠 责编:豆豆技术应用
正在加载评论...
- asp.net 视频教程
- asp.net 数据库编程
- asp.net 入门教程
- ado.net 教程
- asp.net 基础讲座
- asp.net ajax 教程
- asp.net ajax 入门系列
- asp.net 控件开发基础
- asp.net 2.0 服务器控件
- asp.net 2.0 教程
- asp.net 控件开发
- asp.net 类
- asp.net 分页
- asp.net 页面缓存
- asp.net 常见问题解决
- asp.net 2.0 母版页
- asp.net SQL Server
- asp.net 错误
- asp.net 事件
- asp.net 组件
- asp.net 性能
- asp.net 文件上传
- 更多asp.net专题……