我使用MVC 6,并希望能够从我所有的Razor视图全局访问特定的命名空间.在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,您可以创建一个,只需确保它位于您希望影响的视图的相同路径或父路径中. 对于beta4位,此功能被移动到一个名为_GlobalImport.cshtml的新文件; _ViewStart.cshtml被转换回原来的功能(只运行代码,而不是继承指令).因此: _GlobalImport.cshtml:@using MyProject.WebUI.Helpers 对于beta5位,_GlobalImport.cshtml已重命名为_ViewImports.cshtml