У меня есть некоторые сомнения относительно того, как конкатенировать экземпляры MvcHtmlString из-за этой информации, найденной в MSDN:
Класс MvcHtmlString Представляет строку, закодированную в HTML, которая не следует снова закодировать
Я могу рискнуть, что строки дважды кодируются HTML при использовании этого кода:
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());
(обратите внимание: предполагается, что он будет использовать метод расширения HtmlHelper для уменьшения дублирования кода в представлениях).