Latest web development tutorials

ASP.NET Web Pages 全局文件

本章介紹全局頁面AppStart 和PageStart。


在Web 啟動之前:_AppStart

大多數的服務器端代碼是寫在個人網頁裡邊。 例如,如果網頁中包含輸入表單,那麼這個網頁通常包含用來讀取表單數據的服務器端代碼。

然而,您可以通過在您的站點根目錄下創建一個名為_AppStart 的頁面,這樣在站點啟動之前可以先啟動代碼執行。 如果存在此頁面,ASP.NET 會在站點中其它頁面被請求時,優先運行這個頁面。

_AppStart 的典型用途是啟動代碼和初始化全局數值(比如計數器和全局名稱)。

註釋1: _AppStart的文件擴展名與您的網頁一致,比如:_AppStart.cshtml。

註釋2: _AppStart有下劃線前綴。 因此,這些文件不可以直接瀏覽。


在每一個頁面之前:_PageStart

就像_AppStart 在您的站點啟動之前就運行一樣,您可以編寫在每個文件夾中的任何頁面之前運行的代碼。

對於您網站中的每個文件夾,您可以添加一個名為_PageStart 的文件。

_PageStart 的典型用途是為一個文件夾中的所有頁面設置佈局頁面,或者在運行某個頁面之前檢查用戶是否已經登錄。


它是如何工作的?

下圖顯示了它是如何工作的:

PageStart

當接收到一個請求時,ASP.NET 會首先檢查_AppStart 是否存在。 如果_AppStart 存在且這是站點接收到的第一個請求,則運行_AppStart。

然後ASP.NET 檢查_PageStart 是否存在。 如果_PageStart 存在,則在其它被請求的頁面運行之前先運行_PageStart。

您可以在_PageStart 中調用RunPage() 來指定被請求頁面的運行位置。 否則,默認情況下,被請求頁面是在_PageStart 運行之後才被運行。