web页面执行顺序、小结
ProcessRequest方法执行过程:
页面事件
可重定义的方法
页面初始化(Init,当Init事件发生时,代表所有在.aspx文件中静态声明的控件被实例化
并被赋予了默认值,在Init事件中可以初始化任何的在页面生命周期里需要的设置,
需要注意的是,任何的视图状态信息在这个阶段里是不能用的)
视图状态加载(LoadViewState,__VIEWSTATE是 名称/值 对的集合,
象LoadPageStateFormPersistenceMedium这样的方法和与其相对应的
SavePageStateToPersistenceMedium 方法可以用来加载或者保存视图状态
到其他的存储中介里,和LoadViewState方法不相同的是,上面提到的方法
只能在Page的继承类里使用)
回传数据处理(控件里实现了IPostBackDataHandler接口的LoadPostData方法 )
页面加载 (Load)
回传数据变化检查(控件里实现了IPostBackDataHandler接口的RaisePostDataChangedEvent方法)
回传事件处理(控件里定义的回传事件.控件里实现了IPostBackEventHandler接口的RaisePostBackEvent方法)
页面预返回阶段(PreRender,SaveViewState)
页面返回阶段(Render)
页面卸载阶段(Unload)
--------------------
在WebForm1页面的Page_Load事件中用代码Load用户控件WebUserControl1,WebUserControl1又在Page_Load事件中用代码Load用户控件WebUserControl2时的事件顺序:
WebForm1_Init
Page_Load
WebUserControl1_Init
WebUserControl1_Load
WebUserControl2_Init
WebUserControl2_Load
WebForm1_PreRender
WebUserControl1_PreRender
WebUserControl2_PreRender
WebUserControl2_Unload
WebUserControl1_Unload
WebForm1_Unload
--------------------------
在WebForm1页面的Button1_Click事件中用代码Load用户控件WebUserControl1时的事件顺序:
WebForm1_Init
Page_Load
Button1_Click
WebUserControl1_Init
WebUserControl1_Load
WebForm1_PreRender
WebUserControl1_PreRender
WebUserControl1_Unload
WebForm1_Unload
浙公网安备 33010602011771号