在ASP.NET網站中經常使用主版頁面(MasterPage)來製作相同的配置樣式以統一所有頁面的外觀,今作了一個小實驗,以釐清觀念,在套用了主版頁面後,網頁的生命週期是如何進行的。
Step 1:在MasterPage中的後置程式碼中,依序建立PreInit、Init、InitComplete、PreLoad、Load、LoadComplete、PreRender、Render....的事件區塊,再Response.Write() 輸出識別用的字串,如以下code:
protected void Page_PreInit(object sender, EventArgs e)
{
Response.Write("1 Master Page_PreInit" + "<br/>");
}
protected void Page_Init(object sender, EventArgs e)
{
Response.Write("2 Master Page_Init" + "<br/>");
}
protected void Page_InitComplete(object sender, EventArgs e)
{
Response.Write("3 Master Page_InitComplete" + "<br/>");
}
protected void Page_PreLoad(object sender, EventArgs e)
{
Response.Write("4 Master Page_PreLoad" + "<br/>");
}
protected void Page_Load(object sender, EventArgs e)
{
Response.Write("5 Master Page_Load" + "<br/>");
}
protected void Page_LoadComplete(object sender, EventArgs e)
{
Response.Write("6 Master Page_LoadComplete" + "<br/>");
}
protected void Page_PreRender(object sender, EventArgs e)
{
Response.Write("7 Master Page_PreRender" + "<br/>");
}
protected void Page_PreRenderComplete(object sender, EventArgs e)
{
Response.Write("8 Master Page_PreRenderComplete" + "<br/>");
}
protected void Page_SaveStateComplete(object sender, EventArgs e)
{
Response.Write("9 Master Page_SaveStateComplete" + "<br/>");
}
protected void Page_Render(object sender, EventArgs e)
{
Response.Write("10 Master Page_Render" + "<br/>");
}
protected void Page_Unload(object sender, EventArgs e)
{
//Response.Write("Page_Unload" + "<br/>");
}