2010-10-18 2 views
2

Je suis à écrire un ASP.NET MVC Html Helper qui prend essentiellement 2 Helpers HTML qui renvoient IHtmlStrings et les combine ensemble et les renvoie aussi comme un IHtmlString comme ceci:Est-il possible de combiner la sortie de deux IHtmlStrings en une seule instance 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 
} 

Maintenant, je sais que ce n'est pas aller au travail parce IHtmlString est une interface avec une implémentation qui est un type complexe, mais si je

return output1.ToHtmlString() + output2.ToHtmlString() 

Je viens obtenir une chaîne normale qui obtient HtmlEncoded quand je reviens de mon qu'il HtmlHelper. Donc, ma question est, comment puis-je prendre le formulaire de sortie deux IHtmlStrings et les combiner en un seul IHtmlString?

Répondre

5

Comme ceci:

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