Page_Init vs. Page_Load

Page_Init vs. Page_Load

[前言]

昨天跟同事講解asp.net的事件生命週期時
被問到 Page_Init vs. Page_Load 的差別
太混了, 忘記裡面詳細的細節只知道有差異
所以趁著空檔翻了一下資料

IsPostBack這個頁面方法也很重要
一併加入參考
這些都是asp.net web程式常用的基本觀念

[說明]

Page_Init只在網頁第一次載入時執行,
Page_Load則每次網頁載入時都會被執行,
但是變數也都回到起始狀態.
要儲存變數值可利用Application,Session,Cookie,ViewState及Cache等物件.

[參考]

事件週期

利用Page.IsPostBack判斷網頁是否是第一次執行

[錯誤更正]

感謝91大大的提示,也感謝各位大大的分享。 ^ ^

91 2010/11/19 下午 06:32 回覆

# re: Page_Init vs. Page_Load

to Jed :

Page_Init每次都會進去,因為每次都是重新Render頁面,
唯一能辨別的,是form裡面的hidden,通常也就是viewstate,
只能透過Request.Form去檢查ASP.NET產生的hidden。

例如ViewState, eventTarget等等...

恩,所以Page_Init還是每次都會進去。