Есть ли способ объединить вывод двух IHtmlStrings в один экземпляр IHtmlString? - PullRequest
2 голосов
/ 19 октября 2010

Я пишу ASP.NET MVC Html Helper, который в основном принимает 2 HTML-помощника, которые возвращают 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()

, я просто получу обычную строку, которая получает код HtmlEncoded при возврате из моего HtmlHelper.

Итак, мой вопрос: как я могу взять выходные данные из двух IHtmlString и объединить их в одну IHtmlString?

1 Ответ

5 голосов
/ 19 октября 2010

Как это:

return new HtmlString(output1.ToString() + output2.ToString());
...