为MVC3和MVC4 Beta编写自定义HtmlHelpers,我应该使用HtmlString还是MvcHtmlString?

时间:2012-02-24 18:15:02

标签: c# .net asp.net-mvc razor html-helper

我正在为我的MVC3和很快的MVC4项目编写一些自定义的Html助手。网上的例子通常表明它是用MvcHtmlString完成的,但是,我读到如果我们使用的是.NET 4,我们应该使用HtmlString。

我应该使用什么以及为什么?

感谢。

1 个答案:

答案 0 :(得分:4)

在设计某些内容时,始终在层次结构中使用尽可能高的接口/类。在这种情况下,它是IHtmlString,您可以在ASP.NET MVC 3和4中使用它。

public IHtmlString Foo(this HtmlHelper helper)
{
    return new HtmlString("foo bar");
}

从帮助程序返回IHtmlString实例时要小心。这意味着您需要对其进行正确的HTML编码: