做
ASP.NET
开发也有一段时间了,但是从来没有静下心来学习过,随着技术更新的不断加快
,
明显感到有些力不从心,所以决定从现在开始静下心来学习
.NET
平台上的各种技术,那么就先从
ASP.NET
开始吧。
今天,我就把
ASP.NET
生命周期的一些学习体会记录下来,一为学过的知识点做一总结,二为跟我一样的初学者共同学习,三是最重要的,希望有大牛指正我学习过程中的一些误区,在此不胜感激。
昨天经过自己的一些试验和参考书上的一些讲解,初步理清
ASP.NET
页面的生命周期。现记录如下
:
ASP.NET
页面的生命周期大致可以分为一下几个阶段
:
(1)
调用构造方法
(2)
确定回传模式:是第一次加载还是自回传
(3)
页面初始化期
a)
预初始化
b)
初始化
(4)
页面加载期
a)
预加载
b)
加载
(5)
页面呈现期
a)
预呈现
b)
呈现
(6)
页面卸载期
a)
卸载
注
:
要查看详细的阶段,可以在
Page
指令里加上
Trace=”true”
的属性
而根据页面的是第一次请求还是回传,这几个阶段有些许的不同,下面就一一讲解
如果页面是被第一次请求
,
将经历一下的几个阶段
:
页面初始化
:
Page_PreInit(object sender,
EventArgs e):
预初始化事件
Page_Init(object sender,EventArgs e):
初始化事件
页面加载:
Page_PreLoad(object sender,EventArgs e):
页面预加载事件
Page_Load(object sender,EventArgs e):
页面加载事件
页面呈现:
Page_PreRender(object sender,EventArgs e):
页面预呈现事件
Page_Render(object sender,EventArgs e):
页面呈现事件
页面卸载:
Page_Unload(object sender,EventArgs e):
页面卸载事件
大体上来说,页面第一次请求就是经历了以上的几个阶段,当然,大家如果在Page指令里加上Trace=
”
true
”
的属性,可以看到更详细的。根据需要,我们可以针对这些事件进行编程处理。
那如果是页面回传呢?其实,页面回传所经历的过程跟上面的一样,唯一需要注意的地方就是使用ViewState的阶段,只有当进入PreLoad阶段时,ViewState才被恢复,Session也相同。