在 ASP.NET 视图中全局导入命名空间而不使用 @using

Lio*_*ion 5 asp.net asp.net-mvc razor asp.net-mvc-5

在我的 ASP.NET MVC 5 应用程序中,我的所有模型都在命名空间中MyApp.Models。要在我的视图中使用模型,例如告诉视图他应该使用哪个模型@model UserLoginModel,我必须使用using MyApp.Models.

这没什么大不了的,但我更希望它在我的每个视图中自动包含这个命名空间,以避免在每个视图中进行冗余导入。我发现我的视图文件夹中的 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.Html" />
    <add namespace="System.Web.Routing" />
    <add namespace="System.Web.Optimization"/>
    <add namespace="MyApp" />
    <add namespace="MyApp.Models"/>
  </namespaces>
</pages>
Run Code Online (Sandbox Code Playgroud)

但它不起作用。所有这些都是由 Visual Studio 预先生成的。我只<add namespace="MyApp.Models"/>为我的模型添加了。

在 SO 上,我发现了一个类似的问题,但提问者只说它应该Views/web.config在我尝试时使用该文件来工作,并且回答遵循他为 ASP.NET MVC 6 的新测试版指定的问题。但我正在使用MVC 5.1.2 无法完成这项工作,他无法在视图中不包含命名空间的情况下找到@using视图。