ASP.NET Core 6中如何配置视图隐式引用模型命名空间?
在ASP.NET Core 6中配置视图全局引用模型命名空间
我有一个名为DoeWeb的解决方案,其中包含Models文件夹。添加视图时,必须在视图中显式引用该模型文件夹才能正常使用Division模型,代码如下:
@using DoeWeb.Models; @model IEnumerable<Division> @{ ViewData["Title"] = "Index"; } <h1>Divisions</h1>
如果不添加该显式引用,会出现如下错误:
Severity Code Description Project File Line Suppression State
Error CS0246 The type or namespace name 'Division' could not be found (are you missing a using directive or an assembly reference?)
在ASP.NET Core 6中,可以通过以下两种方式配置全局引用,无需在每个视图中添加显式@using语句:
方法一:通过_ViewImports.cshtml配置视图全局引用
- 找到项目
Views目录下的_ViewImports.cshtml文件 - 在文件中添加一行代码:
该配置仅对所有视图生效,后续新建或修改视图时,无需再单独添加@using DoeWeb.Models@using DoeWeb.Models即可直接使用Division等模型类。
方法二:通过项目文件(.csproj)配置全局命名空间引用
- 打开项目根目录下的
DoeWeb.csproj文件 - 在
<ItemGroup>节点内添加以下配置:
该配置会对整个项目的所有代码文件(包括视图、控制器、模型类等)生效,全局范围内都可以直接使用该命名空间下的类型。<Using Include="DoeWeb.Models" />
内容的提问来源于stack exchange,提问作者Kutlo Ranno
相关产品推荐
相关产品推荐

