Web Pages 全域
ASP.NET Web Pages - 全域頁面
#本章介紹全域頁面 AppStart 和 PageStart。
在 Web 啟動之前:_AppStart
大多數的伺服器端程式碼是寫在個人網頁裡邊。例如,如果網頁中包含輸入表單,那麼這個網頁通常包含用來讀取表單資料的伺服器端程式碼。
然而,您可以透過在您的網站根目錄下建立一個名為 _AppStart 的頁面,這樣在網站啟動之前可以先啟動程式碼執行。如果存在此頁面,ASP.NET 會在網站中其它頁面被要求時,優先執行這個頁面。
_AppStart 的典型用途是啟動程式碼和初始化全域數值(例如計數器和全域名稱)。
註解 1:_AppStart 的檔案副檔名與您的網頁一致,例如:_AppStart.cshtml。
註解 2:_AppStart 有底線前綴。因此,這些文件不可以直接瀏覽。
在每一個頁面之前:_PageStart
就像_AppStart 在您的網站啟動之前就運行一樣,您可以編寫在每個資料夾中的任何頁面之前運行的代碼。
對於您網站中的每個資料夾,您可以新增一個名為 _PageStart 的檔案。
_PageStart 的典型用途是為一個資料夾中的所有頁面設定佈局頁面,或在執行某個頁面之前檢查使用者是否已登入。
它是如何運作的?
下圖顯示了它是如何運作的:
當接收到一個請求時,ASP.NET 會先檢查 _AppStart 是否存在。 如果 _AppStart 存在且這是網站接收到的第一個請求,則執行 _AppStart。
然後 ASP.NET 檢查 _PageStart 是否存在。如果 _PageStart 存在,則在其它被要求的頁面運行之前先執行 _PageStart。
您可以在 _PageStart 中呼叫 RunPage() 來指定被要求頁面的運作位置。否則,預設情況下,被請求頁面是在 _PageStart 運作之後才運作。