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

 

 

posted on 2008-10-15 10:43  http  阅读(549)  评论(0)    收藏  举报

导航