我有一段测试代码来了解事件处理程序的执行顺序。为什么顺序是这样的?:
Button1_InitPage_InitPage_LoadButton1_LoadPage_PreRenderButton1_PreRenderButton1_UnloadPage_Unload
例如,为什么是Button1_Initbefore Page_Init,但是Page_Load是 before Button1_Load?
测试代码:
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Init(object sender, EventArgs e)
{
}
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Page_PreRender(object sender, EventArgs e)
{
}
protected void Page_Disposed(object sender, EventArgs e)
{
}
protected void Page_Unload(object sender, EventArgs e)
{
}
protected void Button1_Init(object sender, EventArgs e)
{
}
protected void Button1_Load(object sender, EventArgs e)
{
}
protected void Button1_PreRender(object sender, EventArgs e)
{
}
protected void Button1_Disposed(object sender, EventArgs e)
{
}
protected void Button1_Unload(object sender, EventArgs e)
{
}
}