【发布时间】:2015-05-24 13:52:08
【问题描述】:
我创建了一个这样的视图扩展:
namespace MyProject
{
public static class PageExtensions
{
public static HtmlString MyExt(this WebViewPage page)
{
所以我现在可以输入 Razor 视图:
@this.MyExt()
请注意,我的视图都包含通过 Web.config 声明的命名空间:
<system.web.webPages.razor>
<pages pageBaseType="System.Web.Mvc.WebViewPage">
<namespaces>
<add namespace="MyProject" />
一切都很好。现在我想写一个@helper 函数并在那里使用我的扩展:
@helper MyHelper() {
var page = (WebViewPage) CurrentPage;
<div>
@page.MyExt()
</div>
}
但该扩展程序在那里不可用。我得到的错误是:
编译器错误消息:CS1061:'System.Web.Mvc.WebViewPage' 没有 包含“MyExt”的定义并且没有扩展方法 'MyExt' 接受类型的第一个参数 可以找到“System.Web.Mvc.WebViewPage”(您是否缺少使用 指令还是程序集引用?)
我错过了什么?
【问题讨论】:
-
what am I missing?可能是程序集引用或 using 指令?
标签: c# asp.net-mvc razor extension-methods