手工調試自定義控件各主要方法執(zhí)行順序(分運行時和設計時)
繼承TextBox,override各個方法,分別下斷點調試。
ctor為構造函數(shù)
在構造函數(shù)中,通過代碼:
this.Text = (new Random(DateTime.Now.Millisecond)).Next(100000, 999999).ToString();
調試時,盯著this.Text,就知道是否還在這個對象里面
運行時調用順序
ctor
CreateControlStyle
ApplyStyleSheetSkin
OnInit
TrackViewState
Page_Load
OnLoad
EnsureChildControls
CreateChildControls
OnPreRender
SaveViewState
SaveViewState
HasControls
RenderControl
Render
RenderBeginTag
AddAttributesToRender
RenderEndTag
OnUnload
設計時調用順序
ctor
CreateControlStyle
OnInit
TrackViewState
第一次打開頁面設計視圖時,執(zhí)行一次上面方法
以后每次從代碼視圖切換到頁面視圖,都執(zhí)行一次上面的方法,
再執(zhí)行下面的方法,形成了兩個控件,
展現(xiàn)出來的,是下面方法創(chuàng)建的控件,
但從頁面視圖切換到代碼視圖時,上面的方法觸發(fā)UnLoad
注意:第一次打開IDE,打開頁面視圖時,上面方法執(zhí)行兩次,才到下面方法執(zhí)行一次
ctor
CreateControlStyle
RenderControl
Render
RenderBeginTag
AddAttributesToRender
RenderEndTag

浙公網(wǎng)安備 33010602011771號