转贴:http://www.yaosansi.com/post/893.html
在WebForm1页面上直接放置用户控件WebUserControl1时的事件顺序: WebUserControl1_Init
WebForm1_Init
Page_Load
WebUserControl1_Load
WebForm1_PreRender
WebUserControl1_PreRender
WebUserControl1_Unload
WebForm1_Unload
在WebForm1页面的OnInit方法中用代码Load用户控件WebUserControl1时的事件顺序:
WebForm1_Init : OnInit WebForm1: Loading controls WebUserControl1_Init : OnInit WebForm1: added to Controls WebForm1: LoadViewState WebUserControl1: LoadViewState WebUserControl1: LoadPostData Begin WebUserControl1: LoadPostData End WebForm1_PageLoad: OnLoad after base's Onload. WebUserControl1_Load: after base's OnLoad iWebUserControl1: RaisePostDataChange WebForm1: OnPreRender WebUserControl1: OnPreRender WebForm1: SavedViewState WebUserControl1: SaveViewState
在WebForm1页面的Page_Load方法中用代码Load用户控件WebUserControl1时的事件顺序:
WebForm1_Init : OnInit WebForm1: LoadViewState WebForm1_PageLoad: OnLoad after base's Onload. WebForm1: Loading controls WebUserControl1_Init : OnInit WebUserControl1: LoadViewState WebForm1: added to Controls WebUserControl1_Load: after base's OnLoad WebUserControl1: LoadPostData Begin WebUserControl1: LoadPostData End iWebUserControl1: RaisePostDataChange WebForm1: OnPreRender WebUserControl1: OnPreRender WebForm1: SavedViewState WebUserControl1: SaveViewState
在WebForm1页面的Button1_Click事件中用代码Load用户控件WebUserControl1时的事件顺序:
WebForm1_Init
Page_Load
Button1_Click
WebUserControl1_Init
WebUserControl1_Load
WebForm1_PreRender
WebUserControl1_PreRender
WebUserControl1_Unload
WebForm1_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