有没有办法将两个IHtmlStrings的输出组合成一个IHtmlString实例?

lom*_*axx 2 asp.net-mvc html-helper

我正在编写一个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
}
Run Code Online (Sandbox Code Playgroud)

现在我知道这不会起作用,因为IHtmlString是一个具有复杂类型的实现的接口,但是如果我去的话

return output1.ToHtmlString() + output2.ToHtmlString()
Run Code Online (Sandbox Code Playgroud)

当我从HtmlHelper返回时,我得到一个正常的字符串,它获取HtmlEncoded.

所以我的问题是,如何将输出形式两个IHtmlStrings并将它们组合成一个IHtmlString?

SLa*_*aks 5

像这样:

return new HtmlString(output1.ToString() + output2.ToString());
Run Code Online (Sandbox Code Playgroud)