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

提问

我正在为我的MVC3和即将推出的MVC4项目编写一些自定义的HTML助手.网络上的示例通常显示它是使用MvcHtmlString完成的,但是,我读到如果使用.NET 4,则应该使用HtmlString.

我应该使用什么,为什么?

谢谢.

最佳答案

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

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

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