我正在编写一个ASP.NET MVC Html Helper,基本上需要2个HTML Helper返回IHtmlStrings并将它们组合在一起,并将它们作为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。
所以我的问题是,我如何从两个IHtmlStrings中获取输出并将它们组合成一个IHtmlString?
答案 0 :(得分:5)
像这样:
return new HtmlString(output1.ToString() + output2.ToString());