网页的生命历程
桌面控件模型与WEB窗体的类比并非很贴切。尽管基础元素表现出类似的行为,比如状态呈送和事件传播等,但是WEB窗体模型对呈送过程强加了某种顺序,而在桌面模型中不存在。对于使用ASP。NET的开发者来说,理解这一呈送顺序对于有效地利用该模型是相当重要的。
网页是一种短暂的对象,其中包含的所有元素也一样。创建一个网页的目的仅仅是为了处理某个请求,一旦处理完请求,网页就会被丢弃。这就是说,对网页的每个请求,都有PAGE类的一个新实例来处理。此外,如果创建了一个 网页,并准备服务请求,则会发生一个明确而确定的事件序列。这是每个ASP。NET开发者都必须明白的事件序列,因为如果不按正确的顺序执行,那么网页不会按预期的那样工作。
作为网页开发者,既可以通过定义特定事件的事件处理程序,也可以通过重写PAGE基类中定义的虚函数,与这些事件联系在一起。大多数服务器端的编程操作,应在网页的Load事件处理程序或者服务端控件的事件处理程序中完成。在创建了所有服务端控件,并从请求的POST主体中还原出它们的状态之后,LOAD事件激活。这样,不仅有机会查看客户提交的值,而且有机会改变控件的值,使客户在响应中看到我们想要他们看到的值。
STEP(as following):
1。客户发出POST请求
2。创建PAGE派生类,调用构造函数
3。调用PAGE类的IHttpHandler.ProcessRequest方法
4。激活PAGE类的INIT事件
5。调用PAGE类的CreateChildControls虚方法
6。从POST变量和VIEWSTATE中还原服务端控件状态
7。激活PAGE类的LOAD事件
8。激活服务端控件事件
9。激活PAGE类的PreRender事件
10。调用PAGE类的Render虚方法
11。调用PAGE类的RenderChildren虚方法
12。发送HTTP响应给客户端
13。激活PAGE类的UNLOAD事件
14。丢弃PAGE派生类的实例

浙公网安备 33010602011771号