MVC 3在ValidationSummary中显示HTML

我试图在validation摘要中显示一个强标记,但它编码并且无法正确显示。

@Html.ValidationSummary(false, "ERROR:The form is not valid!") 

我怎样才能让它发挥作用?

您可以按照此问题的接受答案中的建议扩展ValidationSummary助手。

编辑:我认为输入的任何文本的编码是一个安全function,因此是一件好事。

最简单的方法:

 @if (!ViewData.ModelState.IsValid) { 
@Html.Raw(HttpUtility.HtmlDecode(Html.ValidationSummary(false, "ERROR:The form is not valid!").ToHtmlString()))
}

我发现了这个:

  public static MvcHtmlString ToMvcHtmlString(this MvcHtmlString htmlString) { if (htmlString != null) { return new MvcHtmlString(HttpUtility.HtmlDecode(htmlString.ToString())); } return null; } 

然后 :

 @Html.ValidationSummary(false, "ERROR:The form is not valid!").ToMvcHtmlString() 
 @Html.Raw(System.Web.HttpUtility.HtmlDecode((Html.ValidationSummary(false) ?? (object)"").ToString())) 

我有一个使用资源文件的网站。 在其中一个项目中,我将其放置为值: Pharmacy Name is required并且它有效。