避免在剃刀视图中使用“using”子句

时间:2011-08-15 21:41:15

标签: asp.net-mvc asp.net-mvc-3 razor

我写了一个UrlHelper,在每个视图中我都需要包含一个using子句:

@using MyWebPage.Helpers

有没有办法避免它?如果自动导入,这将是很好的。

我在web.config中添加了这个,如下所示:

<pages>
  <namespaces>
    <add namespace="System.Web.Helpers" />
    <add namespace="System.Web.Mvc" />
    <add namespace="System.Web.Mvc.Ajax" />
    <add namespace="System.Web.Mvc.Html" />
    <add namespace="System.Web.Routing" />
    <add namespace="System.Web.WebPages" />
    <add namespace="MyWebPage.Helpers" />
  </namespaces>
</pages>

但它无法解决我的问题。

2 个答案:

答案 0 :(得分:8)

项目中有2个web.configs。

  1. For Views
  2. 申请
  3. 您需要在适当的web.config中包含名称空间,该名称用于视图。 一旦将其包含在适当的命名空间中,就不必将其包含在每个页面中。

    <system.web.webPages.razor>
    <host ....>
    <pages>
      <namespaces>
        <add namespace="System.Web.Helpers" />
        <add namespace="System.Web.Mvc" />
        <add namespace="System.Web.Mvc.Ajax" />
        <add namespace="System.Web.Mvc.Html" />
        <add namespace="System.Web.Routing" />
        <add namespace="System.Web.WebPages" />
        <add namespace="MyWebPage.Helpers" />
      </namespaces>
    </system.web.webPages.razor>
    </pages>
    

答案 1 :(得分:5)

将命名空间添加到Views/web.config,关闭所有cshtml文件,重新打开它们,瞧。