我正在编写一个ASP.NET MVC Html Helper,它基本上包含两个返回IHtmlString并将它们组合在一起的Html Helper,还将它们作为IHtmlString返回,如下所示:
//this doesn't work
public static IHtmlString CompositeHelper(this HtmlHelper helper, string data)
{
//GetOutput returns an IHtmlString
var output1 = new Component1(data).GetOutput();
var output2 = new Component2(data).GetOutput();
return output1 + output2
}
现在我知道这是行不通的,因为IHtmlString是一个带有复杂类型实现的接口,但是如果我
return output1.ToHtmlString() + output2.ToHtmlString()
我只是得到一个普通字符串,当我从HtmlHelper返回时,它会被HtmlEncoded。