如何在所有cshtml页面中添加“默认使用”?

我正在创建我的第一个MVC.Net应用程序,我发现自己包括@using Gideon.Core.Mvc; 在几乎每一页上。 是否可以将其默认添加到所有页面?

在Asp.Net中,我能够将控件的默认内容添加到web.config中,希望它也可以为MVC.Net完成。

您可以将它们添加到Views/Web.config中的部分。

这是默认值:

            

Views/Web.config添加它们。 将名称空间添加到底部:

               

由于这个问题在谷歌上很高,让我添加一个区域兼容的替代解决方案。

创建一个名为PreApplicationStart的新类(或任何其他名称)。

 public class PreApplicationStart { public static void InitializeApplication() { System.Web.WebPages.Razor.WebCodeRazorHost.AddGlobalImport("insert.your.namespace.here"); } } 

Properties\AssemblyInfo.cs添加以下行:

 [assembly: System.Web.PreApplicationStartMethod(typeof(PreApplicationStart), "InitializeApplication")] 

有了这个,命名空间就可以在项目的每个视图中使用(包括区域内的视图)。 将命名空间添加到web.config有这个缺陷,如果你使用区域,你最终必须将命名空间添加到每个区域中的每个web.config文件。

对于.Net核心用户,如果您创建一个vanilla Web项目,则可以通过添加来导入默认命名空间

 _ViewImports.cshtml 

您的Pages文件夹中的文件。

并定义您的默认命名空间。

 @using test @namespace test.Pages