自定义Html Helper在视图中不可用(Razor / Asp.Net MVC3)

asp.net-mvc asp.net-mvc-3 c# html-agility-pack html-helper

我正在尝试使用HtmlAgilityPack实现白名单HTML清理程序。我想创建一个可重用的Html Helper,允许我使用它。我有其他自定义Html帮助程序,我正在使用它工作得很好,但由于某种原因,这个将无法正常工作。每次我尝试从视图中调用它时都无法找到Sanitize方法。我试图进行的调用是局部视图,看起来像这样:

@Html.Raw(Html.Sanitize(Model.Body))

我的Html Helper类:

@Html.Raw(Html.Sanitize(Model.Body))

大多数此代码的积分都归于此帖子中的答案。

我已经检查过的事情:

  1. 已在Web.Config文件中正确定义了命名空间。 (我也知道这个,因为命名空间中的其他人已经工作了)
  2. 做了一个干净的项目构建。
  3. 重新启动Visual Studio 2010。

关于为什么我似乎无法从班级调用该方法的想法?

一般承认的答案

看起来你没有正确扩展HtmlHelper。

您在函数定义中缺少以下内容:

public static MvcHtmlString Sanitize(this HtmlHelper helper, string input)

查看有关使用类扩展的这篇文章,以使用UrlHelper简化代码




许可下: CC-BY-SA with attribution
不隶属于 Stack Overflow
这个KB合法吗? 是的,了解原因
许可下: CC-BY-SA with attribution
不隶属于 Stack Overflow
这个KB合法吗? 是的,了解原因