最佳答案
我不知道这是发生在公关或测试版,但如果我创建一个扩展方法的 HtmlHelper
,它是不能识别在一个剃刀驱动的页面:
namespace SomeNamespace.Extensions {
public static class HtmlExtensions {
public static string Foo(this HtmlHelper html) {
return "Foo";
}
}
}
我把它添加到 Web.config
的 <Namespaces>
部分:
<pages>
<namespaces>
<add namespace="System.Web.Mvc" />
<!-- snip -->
<add namespace="SomeNamespace.Extensions"/>
</namespaces>
</pages>
但是,当试图查看页面时,它会抛出一个编译错误:
@Html.Foo()
如果我用 网上表格重新创建页面,它工作得很好。这是怎么回事?
解决办法
如果我将 @using SomeNamespace.Extensions
包含在我的 Razor 视图中,那么它就可以工作,但是我更希望它只出现在 Web.config
中