ASP.NET控件的执行生命周期

来源:互联网 发布:淘宝多久可以申请售后 编辑:程序博客网 时间:2024/06/05 18:46

 

 

 

 

阶段

控件需要执行的操作

要重写的方法或事件

初始化

初始化在传入 Web 请求生命周期内所需的设置。

Init 事件(OnInit 方法)

加载视图状态

在此阶段结束时,就会自动填充控件的 ViewState 属性,控件可以重写 LoadViewState 方法的默认实现,以自定义状态还原。

LoadViewState 方法

处理回发数据

处理传入窗体数据,并相应地更新属性。
注意:只有处理回发数据的控件参与此阶段。

LoadPostData 方法(如果已实现 IPostBackDataHandler)

加载

执行所有请求共有的操作,如设置数据库查询。此时,树中的服务器控件已创建并初始化、状态已还原并且窗体控件反映了客户端的数据。

Load 事件(OnLoad 方法)

发送回发更改通知

引发更改事件以响应当前和以前回发之间的状态更改。
注意:只有引发回发更改事件的控件参与此阶段。

RaisePostDataChangedEvent 方法(如果已实现 IPostBackDataHandler)

处理回发事件

处理引起回发的客户端事件,并在服务器上引发相应的事件。
注意:只有处理回发事件的控件参与此阶段。

RaisePostBackEvent 方法(如果已实现 IPostBackEventHandler)

预呈现

在呈现输出之前执行任何更新。可以保存在预呈现阶段对控件状态所做的更改,而在呈现阶段所对的更改则会丢失。

PreRender 事件(OnPreRender 方法)

保存状态

在此阶段后,自动将控件的 ViewState 属性保持到字符串对象中。此字符串对象被发送到客户端并作为隐藏变量发送回来。为了提高效率,控件可以重写 SaveViewState 方法以修改 ViewState 属性。

SaveViewState 方法

呈现

生成呈现给客户端的输出。

Render 方法

处置

执行销毁控件前的所有最终清理操作。在此阶段必须释放对昂贵资源的引用,如数据库链接。

Dispose 方法

卸载

执行销毁控件前的所有最终清理操作。控件作者通常在 Dispose 中执行清除,而不处理此事件。

UnLoad 事件(On UnLoad 方法)

原创粉丝点击