ASP.NET Core – Razor View Import用途介紹
在這篇文章中,我們將介紹Razor View Import
。除ViewStart
檔案外,還有一個ViewImports
檔案,MVC框架在渲染任何檢視時都會查詢該檔案。
與ViewStart
檔案一樣,我們可以將ViewImports.cshtml
拖放到資料夾中,ViewImports
檔案可以影響資料夾層次結構中的所有檢視
此檢視是此版本的MVC的新檢視,在以前的MVC版本中,我們可以使用XML配置檔案來配置Razor檢視引擎的某些方面。
那些XML檔案現在不見了,我們使用程式碼代替。
ViewImports
檔案是我們可以編寫程式碼並放置通用指令以引入我們的檢視所需的名稱空間的地方。
如果有,我們在我們的看法通常使用的名稱空間,我們可以使用指令在我們出現一次ViewImports
檔案中,而不是使用指令在每個檢視或打字一類的完整的名稱空間。
例
讓我們舉一個簡單的例子來看看如何將using
指令移動到ViewImports
中。在Index
檢視中,我們有一個using
指令來引入名稱空間FirstAppDemo.Controllers
,如下面的程式所示。
@using FirstAppDemo.Controllers
@model HomePageViewModel
@{
ViewBag.Title = "Home";
}
<h1>Welcome!</h1>
<table>
@foreach (var employee in Model.Employees) {
<tr>
<td>
@Html.ActionLink(employee.Id.ToString(), "Details", new { id = employee.Id })
</td>
<td>@employee.Name</td>
</tr>
}
</table>
使用指令將允許從Razor檢視生成的程式碼正確編譯。如果不使用指令,C#
編譯器將無法找到此Employee
型別。要檢視員工型別,讓我們從Index.cshtml
檔案中刪除using
指令。
@model HomePageViewModel
@{
ViewBag.Title = "Home";
}
<h1>Welcome!</h1>
<table>
@foreach (var employee in Model.Employees) {
<tr>
<td>
@Html.ActionLink(employee.Id.ToString(), "Details", new { id = employee.Id })
</td>
<td>@employee.Name</td>
</tr>
}
</table>
現在,執行該應用程式。
您將看到一個錯誤,指出無法找到型別或名稱空間HomePageViewModel
。可能是因為您的幾個檢視需要相同的using
指令。因此,讓我們在Views
資料夾中建立一個View
匯入,而不是將其放在每個檢視中。這將在每個檢視中新增using
語句,只需右鍵單擊Views
資料夾並選擇Add→New Item
。
在中間窗格中,選擇MVC View Imports
頁面。預設情況下,名稱為_ViewImports.cshtml
。就像ViewStart
一樣,我們不能使用這個檔案來呈現HTML,所以讓我們點選Add
按鈕。
現在將this
中的using
指令新增到_ViewImports.cshtml
檔案中,如下所示。
@using FirstAppDemo.Controllers
現在,此資料夾或任何子資料夾中顯示的所有檢視都可以使用FirstAppDemo.Controllers
中的型別,而無需指定精確的using
語句。讓我們再次執行您的應用程式,您可以看到該檢視現在正在執行。
相關文章
- ASP.NET Core 5.0 MVC中的 Razor 頁面 介紹ASP.NETMVC
- Blazor入門:ASP.NET Core Razor 元件BlazorASP.NET元件
- ASP.NET Razor – 標記簡介ASP.NET
- ASP.NET Razor – C# 變數簡介ASP.NETC#變數
- ASP.NET Razor – VB 邏輯條件簡介ASP.NET
- Python import相關內容區別介紹( import *** as 、from***import )PythonImport
- ASP.NET Razor – C# 邏輯條件簡介ASP.NETC#
- ASP.NET Razor – VB 迴圈和陣列簡介ASP.NET陣列
- ASP.NET Core - 選項系統之原始碼介紹ASP.NET原始碼
- ASP.NET Razor – C# 迴圈和陣列簡介ASP.NETC#陣列
- 反向代理含義及用途介紹
- ASP.NET Razor – C# 和 VB 程式碼語法簡介ASP.NETC#
- ASP.NET MVC Razor檢視引擎ASP.NETMVC
- 簡單介紹ASP.NET Core實現檔案上傳和下載ASP.NET
- OpenID Connect Core 1.0 介紹
- Linux系統結構說明及用途介紹Linux
- ASP.NET Core 3.x Razor檢視執行時重新整理實時編譯ASP.NET編譯
- ASP.NET Core模組化前後端分離快速開發框架介紹之3、資料訪問模組介紹ASP.NET後端框架
- .Net Core Razor動態選單實現
- Python中的布林值用途及特點介紹!Python
- dotnet core微服務框架Jimu介紹微服務框架
- public interface View介面和public interface ViewResolver介面介紹View
- Core Animation 之 ViewView
- .Net Core Razor引擎 Form複雜模型繫結ORM模型
- 自定義View:Paint的常用屬性介紹及使用ViewAI
- SAP CDS view單元測試框架Test Double介紹View框架
- SAP ABAP CDS view 檢視的 Replacement 技術介紹View
- Asp.Net 構架(HttpModule 介紹) - Part.3ASP.NETHTTP
- ASP.NET Core ----ASP.NET Core中使用Code FirstASP.NET
- ASP.NET 6.0 Core 遷移 ASP.NET Core 7.0ASP.NET
- ASP.NET Core模組化前後端分離快速開發框架介紹之1、開篇ASP.NET後端框架
- percona-toolkit安裝方法和主要工具用途彙總介紹
- ASP.NET Core的實時庫: SignalR簡介及使用ASP.NETSignalR
- 【微服務目錄】.NET Core 微服務介紹微服務
- 簡單介紹Android自定義View實現時鐘功能AndroidView
- 瞭解Socks5代理軟體:功能和用途介紹
- cannot import name ‘multiarray‘ from ‘numpy.core‘Import
- 在ASP.NET Core中用HttpClient(六)——ASP.NET Core中使用HttpClientFactoryASP.NETHTTPclient