iT邦幫忙

2023 iThome 鐵人賽

DAY 12
0
自我挑戰組

C# 和 SQL 探索之路 - 2系列 第 12

Day 12: ASP.NET 的頁面生命週期

  • 分享至 

  • xImage
  •  

嗨嗨~大家好,
今天要來介紹 ASP.NET 頁面生命週期的幾個階段行為。


Page_Init: 在每個控制項初始化後,會觸發本事件。可用來讀取或初始化控制項的屬性。

Page_Load: 頁面物件本身、每個控制項載入後,都會觸發本事件。控制項的載入事件會比頁面的事件晚觸發。

  • 可以在這裡指定頁面裡控制項的初始數值 (要記得檢查 IsPostBack!)。
  • 通常寫在此事件內的絕大部分程式碼,都會檢查 IsPostBack,去避免不必要的重設狀態。
    • (控制項的事件會先進入 Page_load 再進入各控制項的 Event)
  • 可以在這裡建立動態控制項。

控制項 PostBack: 控制項有設定 AutoPostBack 的屬性為 true 時,控制項的每個事件都會造成 PostBack。

若啟用控制項的 AutoPostBack,.NET Framework 會自動產生在 HTML 內產生程式碼,包含:

  1. 一個命名為 __doPostBack (eventtarget, eventargument) 的 JavaScript
  2. 兩個隱藏變數,名稱為 __EVENTTARGET__EVENTARGUMENT (觸發事件的來源和參數,可在 Page_Load 的事件參數內查詢)
  3. 控制項的 OnChange JavaScript 事件

OnPreRender: 準備被繪製到頁面上。

  • 有設定 DataSourceID 的控制項會綁定資料。

改寫自: Page Life Cycle In ASP.NET


上一篇
Day 11: ASP.NET 如何保存資訊、重導向的差異
下一篇
Day 13: ASP.NET: 什麼是 PostBack
系列文
C# 和 SQL 探索之路 - 230
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言