C# MVC 3在ValidationSummary中显示HTML

C# MVC 3在ValidationSummary中显示HTML,c#,html,asp.net-mvc,validation,asp.net-mvc-3,C#,Html,Asp.net Mvc,Validation,Asp.net Mvc 3,我试图在验证摘要中显示一个强标记,但它对其进行了编码,无法正确显示 @Html.ValidationSummary(false, "<strong>ERROR:<strong>The form is not valid!") @Html.ValidationSummary(false,错误:表单无效!) 如何使其工作?您可以按照上的已接受答案中的建议扩展ValidationSummary帮助程序 编辑:我认为输入的任何文本的编码都是一种安全功能,因此是一件好事。我发现

我试图在验证摘要中显示一个强标记,但它对其进行了编码,无法正确显示

@Html.ValidationSummary(false, "<strong>ERROR:<strong>The form is not valid!")
@Html.ValidationSummary(false,错误:表单无效!)

如何使其工作?

您可以按照上的已接受答案中的建议扩展ValidationSummary帮助程序

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

我发现:

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

@Html.ValidationSummary(false, "<strong>ERROR:<strong>The form is not valid!").ToMvcHtmlString()
@Html.ValidationSummary(false,错误:表单无效!”).ToMvcHtmlString()
最简单的方法:

@if (!ViewData.ModelState.IsValid)
{
<div>@Html.Raw(HttpUtility.HtmlDecode(Html.ValidationSummary(false, "<strong>ERROR:<strong>The form is not valid!").ToHtmlString()))</div>
}
@if(!ViewData.ModelState.IsValid)
{
@Html.Raw(HttpUtility.HtmlDecode(Html.ValidationSummary(false,错误:表单无效!”).ToHtmlString())
}

我有一个网站,它使用资源文件来编写语言。在其中一个项目中,我将其作为值:
药房名称是必需的
,并且有效。

这不是正确答案。请参见下面@ra的正确答案。这个答案只显示了使用ValidationSummary的好方法。但不是如何在ValidationSummary中显示html。
@Html.Raw(System.Web.HttpUtility.HtmlDecode((Html.ValidationSummary(false) ?? (object)"").ToString()))