ASP.NET AJAX客户端生命周期分析(实践篇)
http://tech.ddvip.com 2007年08月25日 社区交流
内容摘要:本文中,我们使用一个具体的例子针对ASP.NETAJAX客户端生命周期中涉及的主要事件引发的顺序给出了追踪分析。但此示例显然有其特殊性且仍嫌粗略,实际开发中宜结合具体问题作针对性分析,以图从根本上掌握ASP.NETAJAX客户端生命周期中引发的主要事件先后顺序及其间的逻辑关系。
(二)异步回送阶段引发的事件顺序
在一次异步回送中,将有一些页面数据被发送到服务器,接收一个服务器端的响应,然后更新页面的相应部分。我们不妨假定存在如下的一个异步回送的场所:
◆页面中包括一个ScriptManager控件,并且该控件的SupportsPartialRendering和EnablePartialRendering属性都为true;
◆页面中存在一个UpdatePanel控件,并且此控件的ChildrenAsTriggers属性值为true;◆在UpdatePanel控件内部存在一个用于引发异步回送的按钮;◆成功地从服务器端获得响应。那么,上面情况将对应下面的客户端事件发生顺序:
1、点击UpdatePanel控件中的按钮时,引起了一个异步回送;
2、PageRequestManager实例引发initializeRequest事件;3、PageRequestManager实例引发beginRequest事件;4、请求被发送到服务器;5、客户端接收到响应;6、PageRequestManager实例引发pageLoading事件;7、PageRequestManager实例引发pageLoaded事件;8、Application实例引发load事件;9、PageRequestManager实例引发endRequest事件。请注意Application的load事件发生在PageRequestManager的pageLoaded事件之后且在endRequest事件之前。
(三)存在多个异步回送时事件引发的顺序问题
当之前的一个请求正在服务器端或浏览器中运行时,用户又发送了一个新的请求时,则发生了多个异步回送。假设下面的场景描述了多个异步回送的情况。
◆页面包括一个ScriptManager控件,并且该控件的SupportsPartialRendering和EnablePartialRendering属性都为true。
◆页面包含一个UpdatePanel控件。◆在UpdatePanel中有一个引发异步回送的按钮控件被点击两次。第二次的点击发生在服务器端正在处理第一次点击发起的请求。来源: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专题……