说不上来,如果这是在PR或Beta发生的事情,但如果我上HtmlHelper
创建一个扩展方法,它不是在剃刀供电页确认:剃刀的HtmlHelper扩展(或其他名称空间视图)未找到
namespace SomeNamespace.Extensions {
public static class HtmlExtensions {
public static string Foo(this HtmlHelper html) {
return "Foo";
}
}
}
我把它添加到<Namespaces>
节Web.config
:
<pages>
<namespaces>
<add namespace="System.Web.Mvc" />
<!-- snip -->
<add namespace="SomeNamespace.Extensions"/>
</namespaces>
</pages>
但它抛出试图查看页面时编译错误:
@Html.Foo()
如果我用WebForms重新创建页面,它工作正常。这是怎么回事?
解决方法
如果我包括我的Razor视图@using SomeNamespace.Extensions
,然后它的工作原理,但我宁愿只是有它在Web.config
即使解决方法不适用于我。扩展方法将在intelliSense中显示,但在运行时会引发编译错误。 – Clark 2010-11-15 16:44:30
为@using解决方法+1。我比较喜欢它。 – Kent 2012-12-11 23:17:06
@对于单个视图,可以使用解决方法。 但是对于多个视图,代码管理成为一个问题。 – Rahatur 2013-12-05 06:53:06