ASP.NET 2.0中的页面生名周期(根据Dino的Introduction ASP.NET 2.0理解编写)

ASP.NET 2.0中页面的生命周期开始于ASP.NET运行环境执行IHttpHandler::ProcessRequest
方法时。该方法设置了页面的内部类,比如HTTP环境(context)、Request对象以及
Response对象等。
下一步是创建在aspx文件中定义的控件树。然后就是判断页面的模式(是PostBack、CallBack
交叉页面PostBack等)

第一个被引发的事件是PreInit事件,在这个事件过程处理返回后,页面会装载主题(Theme)
以及装载个人化(personalization)数据。在这个事件中可以对页面主题和个人化信息做
一些操作

页面初始化:每个页面控件都会引发Init事件,控件的Init事件比页面的Init事件先引发。

结束页面初始化:这时引发InitComplete事件,这个事件在所有的页面控件初始化完成后
引发。在Init事件和InitComplete事件中间happens—the view state of controls is
set up for tracking. Each control has its TrackViewState method called.
By default, this method sets a flag that instructs the control to track its view
state for changes.(不太理解,直接拿过来,呵呵)

装载控件State以及View State:在ASP.NET 2.0中,控件State是一个私有的View State,每一个
控件自己有责任来维护它。跟View State不同,控件State不能在控件外通过编程来改变,并且
不能被关闭。控件State在View State装载前装载。这些不会引发事件,但是可以通过重载方法
来实现编程。

装载PostBack数据:处理PostBack数据并且将他们的ID与控件ID对比,如果吻合则用这个数据来
更新控件。

Page PreLoading:在页面完成对提交数据的处理后引发PreLoad事件,可以在这个事件中处理任何
需要在页面装载开始前需要做的工作。

装载页面:引发Load事件,这个事件首先在控件中引发,最后是页面。在装载完成后会发生以下的
事情:页面会花一点时间来匹配提交的数据以及页面控件,这个工作是为了将State装载到动态创建
的控件中,如果页面有Callback处理程序,就会在这时引发。最后,如果提交的数据改变了某些控件
会引发事件的属性,那么控件事件会引发,例如改变了TextBox的Text属性,那么TextChanged事件
就会引发。

PostBack事件:页面执行与客户端事件(例如点击)相关联的服务器端代码。这时页面进入输出(render)
阶段

Prerendering:在引发PreRender事件前,叶面会确认所有的控件已经成功创建了。PreRender事件会首先
在页面中引发,然后顺序在控件中引发。然后就会引发页面的PreRenderComplete事件并且保存个人化数据
控件以及view state。


Rendering:创建输出到客户端的内容,一般重载这个事件来处理输出的内容。

Page unload:引发Unload事件,在页面对象被释放时引发,The
Unload event is followed by the Dispose event, which indicates that
the page object is being destroyed.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值