计算机故障网为您提电脑故障排除、电脑维修方法以及IT相关的各类资讯! 注册 - 登录 - 设为首页 - 加入收藏夹

IIS处理Asp.net请求和 Asp.net页面生命周期(2)

来源:赛迪网 时间:2011-04-09 10:01 字体:[ ] 收藏 我要投稿 分享至微博

Load: 这个事件可能是大家最熟悉的了。需要注意的是,Page对象会递归的调用子控件的onload事件直到页面和所有的子控件被加载完成。这个事件主要用来设置控件属性的值,建立数据库连接(通常不这么做)。

Control events: 这个就不多说了,主要是处理控件的事件,例如click。这也就让我们明白了每次我们click一个Button的时候,实际上是要先去执行load事件然后才执行click事件的,一般我们用!IsPostBack来判断一下从而避免执行不必要的加载逻辑。

LoadComplete: 页面所有的控件都被加载以后执行,暂时没有想到用来干什么。。。

PreRender: 在HTML被生成之前这是最后一个事件。每一个页面中的控件都有PreRender的过程。在这里对将要输出的HTML结果进行最后一次修改。

SaveStateComplete: 在这个时间发生之前,已经保存了所有控件和页面的,任何对page或者控件的改动都不会产生左右。暂时没想到用来干啥。

Render: 它不是一个事件而是一个方法。工作就是把HTML写回客户端浏览器。

UnLoad: 页面中的每一个控件都会发生这件事。在控件中,使用这个事件来做清理工作,例如关闭数据库连接等。对与页面本身也是做清理工作,例如关闭打开的文件和数据库连接,或者结束日志或者其它指定的工作。

需要说明的是,每次Request都会创建一个全新的Page类的实例,所以在页面中的自己定义的字段是不能在两次request中传递值的,需要使用viewstate来存储。

5, HttpHandler根据页面生命周期中事件的处理把结果发回IIS,IIS再把结果发回客户端浏览器。

值得注意的是,在这个过程中请求会再次通过HttpModule(注册一个EndRequest事件)。

至此,整个Request结束。
 

顶一下
(0)
0%
踩一下
(0)
0%

责任编辑:计算机故障网

关于我们 - 联系我们 - 广告服务 - 版权声明 - 帮助 - 友情链接 - 网站地图 - RSS订阅 - baidu.xml

© CopyRight 2008-2010, WWW.JSJGZ.CN All Rights Reserved

计算机故障网 版权所有 专业电脑故障排除和电脑维修网站 闽ICP备09000710号