top
Loading...
ASP.NET 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 運行之後才被運行。


北斗有巢氏 有巢氏北斗