ASP.NET Core - Razor 檢視啟動



本章將討論 Razor 檢視啟動。MVC 中的 Razor 檢視引擎遵循一種約定,它會在渲染單個檢視中的程式碼之前,查詢任何名為_ViewStart.cshtml的檔案並執行其中的程式碼。

ViewStart Cshtml
  • ViewStart 檔案中的程式碼無法渲染到頁面的 HTML 輸出中,但它可以用來從單個檢視中的程式碼塊中移除重複程式碼。

  • 在我們的示例中,如果我們希望每個檢視都使用我們在上一章中建立的佈局檢視,我們可以將設定佈局檢視的程式碼放在 ViewStart 中,而不是將程式碼放在每個檢視中。

示例

讓我們來看一個簡單的例子來說明它是如何工作的。在我們的應用程式中,我們不希望每個檢視都指定其佈局檢視為_Layout.cshtml。因此,右鍵單擊 Views 資料夾,然後選擇新增→新建項

Layout Cshtml Add New Item

ASP.NET MVC 中有一個用於 ViewStart 頁面的特定模板,因此在中間窗格中選擇 MVC View Start Page。這裡最重要的部分是此檔名為_ViewStart.cshtml。現在單擊“新增”按鈕。

View 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 檔案,將佈局設定為其他內容。

讓我們儲存所有檔案並執行應用程式。

ViewStart File

您將看到您的主頁仍然與以前一樣呈現,並且佈局檢視仍然有效。

廣告
© . All rights reserved.