我正在尝试创建一个Html Helper,方法是创建一个静态类,如下所示:
public static string Crumbs(this HtmlHelper helper, params string[] args) where T : class
{
// ... rest of code goes here.
}
我正在调用它:
<% Html.Crumbs(
Html.ActionLink("Home", "Index", "Home"),
Html.ActionLink("Lists", "Index", "User"),
Html.Encode(Model.List.Name)); %>
但是,视图无法编译,因为我收到以下编译错误:
CS1061: 'System.Web.Mvc.HtmlHelper' 不包含的定义 '面包屑',没有延伸方法 '面包屑'接受了第一个论点 类型 'System.Web.Mvc.HtmlHelper' 可以找到(你错过了吗? 使用指令或程序集 引用?)
我不明白。我没有提到你需要在任何地方注册静态类的命名空间的文档。我做错了什么?
答案 0 :(得分:6)
您需要在视图或web.config中导入扩展名称空间。
在web.config中:
<pages>
<namespaces>
<add namespace="MyExtensions.Namespace"/>
在您看来:
<%@ Import Namespace="MyExtensions.Namespace" %>
答案 1 :(得分:1)
您需要在web.config中注册名称空间
<system.web>
<pages>
<namespaces>
<add namespace="X.Y.Z"/>
</namespaces>
</pages>
</system.web>
答案 2 :(得分:1)
确保将助手放在web.config中引用的namespace(any)或页面本身(Import Namespace)中。