我该如何在ASP.NET MVC视图中使用扩展方法?

37

我如何在ASP.Net MVC视图中访问扩展方法?在C#中,我会这样做

using MyProject.Extensions;

我记得曾经看到过一个 XML 等价物可以放在视图中,但我再也找不到了。


这个是“访问”还是“引用”? [不是挑刺 - 是从vb过渡的问题] - justSteve
@justSteve,有什么区别吗? - pupeno
在我看来,引用是为了实际使用(访问)而准备系统的行为。在设置引用之前,我们不能使用不同类的方法。 - justSteve
2个回答

50

视图中:

<%@ Import Namespace="MyProject.Extensions" %>

或者在web.config中(适用于所有视图):

<pages>
  <namespaces>
    <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.Linq" />
    <add namespace="System.Collections.Generic" />

    <add namespace="MyProject.Extensions" />
  </namespaces>
</pages>

6
在 VS2008 中,我不得不关闭 .aspx 文件并重新打开文件,这样 Intellisense 才能识别已导入的命名空间。 - Frode Lillerud
它字面上是“MyProject.Extensions”,还是具体的呢?所以我的是:<add namespace="BusinessLogic.ExtensionModule" />吗? - Jonathan

20

对于使用 Razor / WebPages 的页面,您可以在 .cshtml 页面中包含 using 指令。

@using MyBlogEngine;  

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