网页的生命周期阶段
1、网页请求:在网页生命周期开始之前,当然会先发生网页请求(Request)。当然用户请求某一个网页时,ASP.NET会决定该网页是否需要被解释与编译(这表示进入了网页的生命周期),或使用网页的缓存来响应即可。
2、启动:在启动阶段,网页的Request与Response等属性会被设置,并判断请求是一个回发或全新的请求,以便适当设置IsPostBack属性。此外,还会设置网页的UICulture属性。
3、网页初始化:在网页初始化阶段,网页上的控件已可以使用,而且每一个控件的UniquueID属性也会被设置。在这个时候,主题(Theme)也会应用于网页。如果当前的请求是一个回发(PostBack),则返回数据还会被加载,控件属性值也不会从视图状态中取回。
4、加载:在加载阶段,如果当前的请求是一个回发,会从视图状态与控件状态取得并加载控件属性值。
5、验证:在验证阶段,所有验证控件的Validate方法都会被调用,以便设置个别验证控件和网页的IsValid属性
6、解释:在解释(Render)之前,会将网页与所有控件的视图状态保存起来。在解释阶段期间,网页会调用每一个控件的Render方法,提供一个文本写入器来将其输出至网也Response属性的OutputStream
7、卸载:在所有的网页都已经完整解释之后,就会进入卸载(Unload)阶段,网页会被传送至客户端,并且准备被舍弃。在这个阶段,网页的Response与Request等属性会被重新设置,并执行清理操作。