页面实用周期(转)
一、 Asp.Net整个页面生命周期其实是一系列事件来完成的。
1、 当一个页面请求到达IIS后,IIS(只能处理静态页面,文本和一些图片)处理不了就交给.net核心处理程序(aspnet_isapi)。
2、步骤包括初始化、实例化控件、还原和维护状态、运行事件处理程序代码以及进行呈现
二、页生命周期阶段
ASP.NET编程模型之页面生命周期执行一系列步骤:页面的初始化、实例化控件、还原和维护状态、运行事件处理程序代码、呈现。为了在合适的阶段执行所需的代码,所以要对页面生命周期非常熟悉。在页生命周期的各个阶段,页面会逐个引发定义的事件,通过对代码开发,在页面的生命事件中执行我们所需要的程序
1、ASP.NET页面生命周期之页请求:发生在页面生命周期之前,用户请求页时,ASP.NET将确定是否需要分析和编译页,从而确定是否开始页面的生命周期,或者是否可以在不运行页的情况下发送页面缓存以进行响应。
2、ASP.NET页面生命周期之开始:设置页属性,如:HttpContext以及其他属性;在此阶段,页面需要确定是回发请求还是新请求,并设置IsPostBack属性;设置页面的UICulture属性。
3、 ASP.NET页面生命周期之页面初始化:加载所有主题;控件生成,并设置UniqueID;
注:ViewState、ControlState中的值还未加载至控件;如果页面是回发,则回发数据也还未加载;故此时控件可以访问,但值可能出错。
4、ASP.NET页面生命周期之加载:如果当前请求是回发请求,则为控件加载ViewState和ControlState中的值。
5、ASP.NET页面生命周期之验证:调用所有验证程序控件的Validate方法,此方法将设置验证程序控件和页的IsValid属性。
6、ASP.NET页面生命周期之回发事件处理:如果请求是回发请求,则调用所有事件处理程序。
7、ASP.NET页面生命周期之呈现:首先对该页和所有控件进行保存视图状态,然后对每个控件调用Render方法,它会提供一个文本编写器,用于将控件的输入写入页的Response属性的OutputStream中。
8、ASP.NET页面生命周期之卸载:完成呈现,并已将页发送至客户端、准备丢弃该页后,调用卸载。将卸载属性如:Response和Request等等。
三.Page类的重要属性:———Page类是容器
Page.Controls中共有五个控件,分别对应的内容如下:
Page.Controls[0]——DOCTYPE(HTML标准)
Page.Controls[1]——<head>(头部)
Page.Controls[2]——<body>(主体)
Page.Controls[3]——<form>(表单)
Page.Controls[4]——</body></html>
Page.Controls[0]——DOCTYPE(HTML标准)
Page.Controls[1]——<head>(头部)
Page.Controls[2]——<body>(主体)
Page.Controls[3]——<form>(表单)
Page.Controls[4]——</body></html>