页面生命周期阶段以及相关事件

页面生命周期主要分为以下几个阶段,在每个阶段都会执行一些特定的事件来完成指定任务,阶段如下:

1. 生命周期开始:在开始阶段,将设置页的属性,如request,response。在此阶段,还将确定请求是回发请求还是新请求。并设置                           IsPostBack属性

2. 页初始化    :在页初始化期间,可以使用控件,并已经设置控件ID,如果是回发请求,则此时回发数据尚未加载,控件的属性也尚未还原                  为视图状态中的值

3. 加载阶段    :在此阶段,将使用从视图状态恢复的信息来加载控件属性。

4. 验证        :在验证期间,设置各个控件和页的isValid属性。

5. 回发事件处理:如果请求是回发请求,那么在这个阶段将调用所有事件处理程序。(我理解的是引起回发的事件,比如click,textchange   等)

6. 呈现        :在呈现之前,会对该页和所有控件保存视图状态,在呈现阶段中,页会对每个控件调用render方法,用于将控件的输出加                  入页的response的outPutStream中

7. 卸载        :完全呈现并将页发送给客户端准备丢弃该页后,将调用卸载,此时将卸载页属性response和request,并执行清理。


生命周期的各个事件:

1. preInit :使用该事件执行下列操作
             (1) 检查IsPostBack属性来确定是不是第一次处理该页
             (2) 如果请求是回发请求,则控件的值尚未从视图状态中还原,如果在此阶段设置控件属性,则其值可能在下一事件中被重写。

2. Init    :在所有控件都已经初始化且已应用所有外观设置后引发,使用该事件来读取或初始化控件属性

3. InitComlete :由page对象引发,使用该事件来处理要求先完成所有初始化工作的任务。

4. PreLoad     :在Page引发该事件后,他会为自身和所有控件加载视图状态,然后处理request所包括的任何回发数据

5. Load        :Page 在 Page 上调用 OnLoad 事件方法,然后以递归方式对每个子控件执行相同操作,如此循环往复,直到加载完本页和                 所有控件为止。

6. 控件事件    :如click,textchange等

7. LoadComplete:对需要加载页上的所有其他控件的任务使用该事件。

8. PreRender   :使用该事件对页或其控件的内容进行最后更改

9. SaveStateComplete :在该事件发生前,已针对页和所有控件保存了viewstate,将忽略此时对页和控件做的任何修改

10. Render     :呈现给客户端

11. UnLoad     : 执行清理工作,如关闭数据库链接等


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/Jelly_tracy/archive/2010/02/09/5301461.aspx

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值