當連線ASP.NET網頁時,伺服器端會有一連串處理過程,伺服器端處理完畢後才會將網頁送出,此處理過程便稱為「存留週期」。由此可知,一個網頁從開始到卸載,其生命其實在伺服器送出後便已經結束。(補充:20151126)
最常用到Page物件的重要屬性與方法:
- Page.IsPostBack:檢查網頁是否為第一次連線或因PostBack而被載入
→ 屬性為True:網頁是因為PostBack而重新被執行。
※當網頁第一次連線時,進行變數、控制項的初始化、開啟檔案、連線資料庫取得所需資料,都可藉由此屬性來避免重複執行這些動作。
- Page.IsValid:檢查網頁上所有驗證是否都已通過
- Page.Title:取得或設定網頁的標題
--------重點:---------------------------------------------------------------------------------------
在Web畫面上「做的任何動作」,都會引起PostBack(回傳)動作,進而重新觸發Page_Load事件。例如:點TextBox、按任何一個Button按鈕.....等。所以在網頁設計中,加入一段If(!Page.PostBack) 或 IF Not Page.PostBack的判別是來判斷「網頁是否第一次被執行?」。
----------------------------------------------------------------------------------------------------------------
案例:
當在網頁上按下Button按鈕的時候,會觸發Button1_Click事件,這是會導致回傳。根據ASP.NET為例的執行順序,如下:
1.先執行Page_Load事件。
2.接者才執行TextBox1_TextChanged事件。
3.最後才是Button1_Click事件。