嗨嗨~大家好,
今天要來介紹 ASP.NET 頁面生命週期的幾個階段行為。
Page_Init: 在每個控制項初始化後,會觸發本事件。可用來讀取或初始化控制項的屬性。
Page_Load: 頁面物件本身、每個控制項載入後,都會觸發本事件。控制項的載入事件會比頁面的事件晚觸發。
IsPostBack!)。IsPostBack,去避免不必要的重設狀態。
Page_load 再進入各控制項的 Event)控制項 PostBack: 控制項有設定 AutoPostBack 的屬性為 true 時,控制項的每個事件都會造成 PostBack。
AutoPostBack:asp.net - Difference between AutoPostBack=True and AutoPostBack=False? - Stack Overflow
若啟用控制項的
AutoPostBack,.NET Framework 會自動產生在 HTML 內產生程式碼,包含:
- 一個命名為
__doPostBack (eventtarget, eventargument)的 JavaScript- 兩個隱藏變數,名稱為
__EVENTTARGET和__EVENTARGUMENT(觸發事件的來源和參數,可在 Page_Load 的事件參數內查詢)- 控制項的
OnChangeJavaScript 事件
OnPreRender: 準備被繪製到頁面上。
DataSourceID 的控制項會綁定資料。改寫自: Page Life Cycle In ASP.NET