ASP.NET WebForm - 網頁生命週期

  • 13691
  • 0

此篇簡單介紹WebForm的生命週期、Http無狀態協定、ASP.NET WebForm的UI。


 

ASP.NET 網頁生命週期與PostBack : 

生命週期大致可分成 :  
Init --> Load --> RunTime --> UnLoad --> Disposed
WebForm中的PostBack :
PostBack : 只要是由WebForm所產生的元件,會觸發PostBack也會進入Page_load事件
Note : 一般的HTML元素標籤並不會觸發PostBack,除非觸發請求(Request)
觸發PostBack時的程式碼範例 :
// 在.aspx檔對應的.cs檔的程式碼
protected void Page_Load(object sender, EventArgs e)
{
    if(Page.IsPostBack) // 使用者若非第一次觸發 PostBack 該屬性為 False
    {
        // 此時網頁點擊元件觸發 PoatBack 且進入Page_Load 事件
    }
    else
    {
        // 此時使用者第一次載入時觸發 PoatBack
    }
}

 

Http 的無狀態協定 :

  • 在網頁上(Client端)的資料 : 無法保留任何資料
  • 可透過Session 、 Cookie 、 ViewState保留欲留存資料

大多數的ASP.NET原生控制項 : 都有兩個重要的屬性 : 

  • AutoPostBack : 是否讓元件內資料被使用者或程序異動時觸發PostBack  預設為 : True
  • EnabledViewState : 單使用者送出請求時,原控制項上的資料是否要保留  預設為 : True

C#跳脫字元 : 針對路徑

  • "~\" : 此為根目錄等同當前程式執行的地方
    string path = "~\\imagefolder\\2013jpg.jpg";
  • "@" : 針對路徑字串可在最前面加入'@' 的字元,就不需要用雙反斜引入反斜線
    string path2 = @"~\imagefolder\2014jpg.jpg";

 

 


多多指教!! 歡迎交流!!

你不知道自己不知道,那你會以為你知道