- ASP.NET Core 教程
- ASP.NET Core - 首頁
- ASP.NET Core - 概述
- ASP.NET Core - 環境設定
- ASP.NET Core - 新建專案
- ASP.NET Core - 專案佈局
- ASP.NET Core - Project.Json
- ASP.NET Core - 配置
- ASP.NET Core - 中介軟體
- ASP.NET Core - 異常處理
- ASP.NET Core - 靜態檔案
- ASP.NET Core - 設定 MVC
- ASP.NET Core - MVC 設計模式
- ASP.NET Core - 路由
- ASP.NET Core - 屬性路由
- ASP.NET Core - 操作結果
- ASP.NET Core - 檢視
- 設定 Entity Framework
- ASP.NET Core - DbContext
- ASP.NET Core - Razor 佈局檢視
- ASP.NET Core - Razor 檢視啟動
- ASP.NET Core - Razor 檢視匯入
- ASP.NET Core - Razor 標籤助手
- ASP.NET Core - Razor 編輯表單
- ASP.NET Core - 身份概述
- ASP.NET Core - Authorize 屬性
- 身份配置
- ASP.NET Core - 身份遷移
- ASP.NET Core - 使用者註冊
- ASP.NET Core - 建立使用者
- ASP.NET Core - 登入和登出
- ASP.NET Core 有用資源
- ASP.NET Core - 快速指南
- ASP.NET Core - 有用資源
- ASP.NET Core - 討論
ASP.NET Core - Razor 檢視啟動
本章將討論 Razor 檢視啟動。MVC 中的 Razor 檢視引擎遵循一種約定,它會在渲染單個檢視中的程式碼之前,查詢任何名為_ViewStart.cshtml的檔案並執行其中的程式碼。
ViewStart 檔案中的程式碼無法渲染到頁面的 HTML 輸出中,但它可以用來從單個檢視中的程式碼塊中移除重複程式碼。
在我們的示例中,如果我們希望每個檢視都使用我們在上一章中建立的佈局檢視,我們可以將設定佈局檢視的程式碼放在 ViewStart 中,而不是將程式碼放在每個檢視中。
示例
讓我們來看一個簡單的例子來說明它是如何工作的。在我們的應用程式中,我們不希望每個檢視都指定其佈局檢視為_Layout.cshtml。因此,右鍵單擊 Views 資料夾,然後選擇新增→新建項。
ASP.NET MVC 中有一個用於 ViewStart 頁面的特定模板,因此在中間窗格中選擇 MVC View Start Page。這裡最重要的部分是此檔名為_ViewStart.cshtml。現在單擊“新增”按鈕。
ViewStart 檔案的主要用途是設定佈局檢視。
現在讓我們轉到 Index.cshtml 檔案,剪下 Layout 行,然後將其新增到 ViewStart 檔案中,如下面的程式所示。
@{
Layout = "~/Views/Shared/_Layout.cshtml";
}
當 MVC 框架去渲染一個檢視時,它會檢視資料夾層次結構中是否存在 ViewStart 檔案。
我們將 _ViewStart 直接放在我們的 Views 資料夾中。這將影響 Views 資料夾內所有資料夾中的所有檢視,包括 Home 資料夾和 Shared 資料夾內的檢視,以及我們將來可能新增的任何其他控制器資料夾。
如果我們將 ViewStart 僅放在 Home 資料夾中,那麼只有在我們渲染 Home 資料夾中的一個檢視時,這段程式碼才會執行。
我們甚至可以有多個 ViewStart 檔案,因此我們可以在 Views 資料夾中有一個 ViewStart.cshtml 檔案,它為所有檢視設定佈局檢視。
但是,如果我們想更改 Home 資料夾中所有檢視的預設設定,我們可以在 Home 資料夾中再新增一個 ViewStart 檔案,將佈局設定為其他內容。
讓我們儲存所有檔案並執行應用程式。
您將看到您的主頁仍然與以前一樣呈現,並且佈局檢視仍然有效。