asp.net 页面生命周期
一、页面请求
asp.net确定是否需要分析和编译页,或者确认是否在不运行页的情况下以发送缓存版本以进行相应。
二、启动
在启动阶段将设置页属性,如request和response。在此阶段还将确定是否是回发请求还是新的请求,并设置IsPostBack属性。页还设置UIculture属性。
三、初始化
页初始化期间,可以使用页中的空间,并设置每个控件的UniqueID属性。如果需要还向页面应用主题或母版页。如果当前请求时会发请求,则回发数据尚未加载,并且控件中的值尚未还原为视图状态中的值。
四、加载
加载期间如果当前请求时会发请求,则使用从视图状态和控件状态恢复的信息加载控件属性。
五、回发事件处理
如果请求时回发请求,则调用控件事件处理程序。之后,将调用所有验证程序控件的Validate方法,此方法将设置各个验证程序空间和页的IsValid属性。
六、呈现
在呈现之前,会针对该页和所有控件保存视图状态。在呈现阶段中,页会针对每个控件调用Render方法,它会提供一个文本编辑器,用于将控件 的输出写入页的response属性的OutPutStream对象中。
七、卸载
完全呈现页并将页发送至客户端,准备丢弃该页后,将引发Unload事件,此时,将卸载页属性如(response和request)并执行清理。