什么是页面的存活周期

来源:互联网 发布:程序员最喜欢的编辑器 编辑:程序博客网 时间:2024/04/30 10:30

所谓的页面生存周期,指的是一个 ASP.NET 页面对象从初始化到销毁经过的步骤。在通常情况下,一旦某个请求对应到一个ASP.NET 页面时,一个直接或间接继承自Sysytem.Web.UI.Page类型的对象开始初始化,并且开始执行页面生存周期中的所有步骤。而该类型的对象,就是客户端请求的ASP.NET 页面的后台托管代码。


ASP.NET页面生存周期各步骤的功能大致分类:

1. 初始化 

2. 加载数据和页面

3. 触发时间

4. 保存状态并呈现页面

1. 初始化 - PreInit 、 Init 、InitComplete 三个步骤

2. 加载数据和页面 LoadState ProcessPostData PreLoad Load ProcessPostData(第二次)等步骤

首先从页面回传的数据加载ViewState对象, 所有的数据都会以Base64 编码随页面传入服务器。然后开始处理回传的数据,也就是把表单中的键/值对存入对象之中。随后就开始加载页面,程序员通常会在这里做一些初始化的编程。最后会再次执行ProcessPostData ,以处理Load时候新添加的数据。

第一次ProcessPostData 处理保证了执行页面加载之前,所有数据从页面上读入,这样页面加载时就可以访问这些数据。而第二次执行ProcessPostData ,以处理Load时候新添加的数据。

3. 触发事件

触发事件包含了ChangedEvent 和 PostBackEvent 步骤。这里首先会比较ViewState中的数据和页面上一次回传的数据,觉得哪些时间需要被触发,这里的时间是逐一被触发的,但顺序将无法确定。然后会查看是否触发Post Back事件,该时间也就是页面提交的事件。

 4. 保存状态并呈现页面

这里会包含SaveState SaveStateComplete、Render步骤。首先页面会编码保存所有的ViewState , 然后将其潜入到页面的一个隐藏空间中。接着转换所有的控件标签并生成页面HTML,并发回客户端。


0 0
原创粉丝点击