自定義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合法嗎? 是的,了解原因