J'ai quelques doutes sur la façon de concaténer les instances de MvcHtmlString à cause de cette information trouvée dans MSDN :
Classe MvcHtmlString Représente une chaîne de caractères codée en HTML qui ne doit pas être encodée à nouveau
Est-ce que je risque que les chaînes soient codées deux fois en HTML en utilisant un code comme celui-ci :
var label = Html.LabelFor(model => model.Email);
var textbox = Html.TextBoxFor(model => model.Email);
var validation = Html.ValidationMessageFor(model => model.Email);
var result = MvcHtmlString.Create(
label.ToString() + textbox.ToString() + validation.ToString());
(note : ceci est censé aller dans une méthode d'extension de HtmlHelper pour réduire la duplication de code dans les vues).