asp.net-core - 将命名空间添加到 ASP.NET MVC 6 中的所有 View

标签 asp.net-core asp.net-core-mvc

我正在使用 MVC 6,并且希望能够从我的所有 Razor View 全局访问特定的命名空间。在 MVC 5 中,这相当简单;我只需将以下代码添加到我的 ~/views/web.config 文件中:

<system.web.webPages.razor>
    <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.1.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    <pages pageBaseType="System.Web.Mvc.WebViewPage">
        <namespaces>
            <add namespace="System.Web.Mvc" />
            <add namespace="System.Web.Mvc.Ajax" />
            <add namespace="System.Web.Mvc.Html" />
            <add namespace="System.Web.Optimization"/>
            <add namespace="System.Web.Routing" />
            <add namespace="MyProject.WebUI" />
            <add namespace="MyProject.WebUI.Helpers" /><!-- Added this line -->
        </namespaces>
    </pages>
</system.web.webPages.razor>

我添加了对 MyProject.WebUI.Helpers 命名空间的访问权限。

在 ASP.NET 5 和 MVC 6 中,web.config 文件已被取消,所以我不知道如何继续执行此操作。我尝试过寻找答案,但我所能找到的只是如何在当前版本的 ASP.NET 而不是 v5 中做到这一点。

有什么想法吗?

编辑:澄清了我将使用哪个web.config文件。

最佳答案

对于 <= beta3 位(您最有可能使用的),您应该在 _ViewStart.cshtml 中添加 @using 语句。又名:

_ViewStart.cshtml:@using MyProject.WebUI.Helpers

如果您没有 _ViewStart.cshtml,您可以创建一个,并确保它位于您希望其影响的 View 的同一路径或父路径中。

对于 beta4 位,此功能已移至名为 _GlobalImport.cshtml 的新文件中; _ViewStart.cshtml 已转换回其原始功能(仅运行代码,不继承指令)。因此:

_GlobalImport.cshtml:@using MyProject.WebUI.Helpers

对于 beta5 位,_GlobalImport.cshtml 已重命名为 _ViewImports.cshtml

关于asp.net-core - 将命名空间添加到 ASP.NET MVC 6 中的所有 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28719298/

相关文章:

c# - TempData 值在 RedirectToAction() 之后从 List<string> 隐式转换为 string[]

asp.net - VS 2015 Preview 缺少 "ASP.NET 5 Web Application"项目类型?

amazon-web-services - AWS EBS 上的 ASP.Net Core - 写入权限和 .ebextensions

docker - docker在Windows 10的Asp.Net Core中以代码126(0x7E)退出

c# - 我的 Azure 应用程序配置端点有什么问题?

c# - services.AddControllersWithViews() 与 services.AddMvc()

asp.net-core - asp.net core数据保护 key 加密

c# - 在 ASP.NET Core 中未经授权时重定向到登录

c# - 使用 ActionName 属性时如何获取 Action 名称?

c# - MVC 6 中的自定义 Razor View 引擎