- ASP.NET WP 教程
- ASP.NET WP - 首頁
- ASP.NET WP - 概述
- ASP.NET WP - 環境設定
- ASP.NET WP - 入門
- ASP.NET WP - 檢視引擎
- 專案資料夾結構
- ASP.NET WP - 全域性頁面
- ASP.NET WP - 程式設計概念
- ASP.NET WP - 佈局
- ASP.NET WP - 使用表單
- ASP.NET WP - 頁面物件模型
- ASP.NET WP - 資料庫
- ASP.NET WP - 向資料庫新增資料
- ASP.NET WP - 編輯資料庫資料
- ASP.NET WP - 刪除資料庫資料
- ASP.NET WP - WebGrid
- ASP.NET WP - 圖表
- ASP.NET WP - 使用檔案
- ASP.NET WP - 使用影像
- ASP.NET WP - 使用影片
- ASP.NET WP - 新增電子郵件
- ASP.NET WP - 新增搜尋
- 向網站新增社交網路功能
- ASP.NET WP - 快取
- ASP.NET WP - 安全性
- ASP.NET WP - 釋出
- ASP.NET WP 有用資源
- ASP.NET WP - 快速指南
- ASP.NET WP - 有用資源
- ASP.NET WP - 討論
ASP.NET WP - 全域性頁面
在本章中,我們將介紹全域性頁面,例如_AppStart.cshtml和_PageStart.cshtml,這些頁面通常不會被提及,而當它們被提及時,似乎會被當作WebMatrix/ASP.Net Web Pages的一部分來介紹。
_AppStart
_AppStart.cshtml在應用程式首次啟動時執行一次。在網站的根資料夾中,您將看到一個_AppStart.cshtml檔案,這是一個用於包含全域性設定的特殊檔案。
它是Web Pages框架的正式組成部分,Razor檢視引擎正是基於此框架。
根資料夾中的_AppStart包含在站點啟動之前執行的啟動程式碼。
由於_AppStart具有下劃線字首,因此無法直接瀏覽這些檔案。
如果此頁面存在,則ASP.NET會在請求站點中的任何其他頁面之前第一次執行它。
讓我們看看AppStart.cshtml檔案的內容。
@{
App.CacheDuration = 30;
// cache content pages for 30 minutes
// register for main contents which will appear as tabs on the navigation bar
App.ContentPages = new[] {
new ContentSource("Blog", "My Blog", "~/Contents/_Blog.cshtml", false),
new ContentSource("Twitter", "My Tweets", "~/Contents/_Twitter.cshtml", false),
new ContentSource("Photos", "My Photos", "~/Contents/_Photos.cshtml", false)
};
}
如您所見,當您執行此應用程式時,三個頁面(部落格、推特和照片)的內容將作為選項卡顯示在導航欄中,如下面的螢幕截圖所示。
_PageStart
類似於在站點啟動之前執行的_AppStart,您還可以編寫在任何其他頁面之前執行的程式碼。在您的Web中的每個資料夾中,您都可以新增一個名為_PageStart的檔案。
_PageStart.cshtml在每次請求同一資料夾或下級資料夾中的頁面時都會執行。
它是執行每個請求處理(例如設定佈局頁面)的地方。
工作流程
當收到對頁面的請求時,如果這是對站點中任何頁面的第一個請求,則ASP.NET首先檢查是否存在_AppStart.cshtml頁面。如果存在_AppStart.cshtml頁面,則首先執行_AppStart.cshtml頁面中的任何程式碼,然後執行請求的頁面。
當收到對頁面的請求時,ASP.NET首先檢查是否存在_PageStart.cshtml頁面,如果存在,則執行它,然後執行請求的頁面。