El texto de validación se codifica antes de la ValidationSumary o ValidationFor, etc ...
Sólo se necesita tu decodificar el código HTML, a continuación, crear una MvcHtmlString ...
Ejemplo:
@HttpUtility.HtmlDecode(Html.ValidationSummary().ToString()).ToMvcHtmlString()
esto es una extensión que he hecho para hacer MvcHtmlString:
namespace System
{
public static class StringExtension
{
public static System.Web.Mvc.MvcHtmlString ToMvcHtmlString(this string value)
{
return System.Web.Mvc.MvcHtmlString.Create(value);
}
}
}
o puede crear un HtmlHelper si va a volver a utilizar este:
namespace System.Web.Mvc.Html
{
public static class FormHelper
{
public static MvcHtmlString ValidationSummaryEx(this HtmlHelper htmlHelper, bool excludePropertyErrors)
{
var original = htmlHelper.ValidationSummary(excludePropertyErrors);
var decoded = HttpUtility.HtmlDecode(original.ToString());
return decoded.ToMvcHtmlString();
}
}
}
espero que usted o espectador futuro ayudar. Nota: funciona para todas las validaciones Resumen y ValidaciónPara ...
¡Solución realmente agradable, Ben! Terminé probando si 'Html.ValidationSummary() == null' primero y usando' Html.Raw() 'en la salida, pero funciona muy bien. ¡Gracias! –
Eso es inteligente :) –