单个using语句,多个MVC视图

3

我写了一些扩展方法(HTML助手),希望在多个视图中使用它们,这...

@using My.Extensions.Namespace

@Html.MyExtension()

显然这个方法是可行的。但它意味着在每个视图中都要包含using语句(将有很多个视图)。

如果这是唯一的方法,那就没问题了,但我想知道是否有一种方法可以在不在每个单独的视图中声明它的情况下“全局”地使用这个命名空间。

1个回答

4

您可以通过Views文件夹内的webconfig文件来包含它:

  <system.web.webPages.razor>
    <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    <pages pageBaseType="System.Web.Mvc.WebViewPage">
      <namespaces>
        ...
        <add namespace="My.Extensions.Namespace"/>
      </namespaces>
    </pages>
  </system.web.webPages.razor>

在Razor视图中,我们需要引用的每个命名空间都需要使用这种方式或通过@using语句在视图本身中声明。


非常准确!正是我想要的。我记得WebForms中有非常相似的东西。谢谢。 - user1017882
@JayMee 很高兴能帮忙。 - Farhad Jabiyev

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接