假设您有一个标准的ValidationSummary:
<%: Html.ValidationSummary(excludePropertyErrors: true) %>
如果ModelState包含属性的模型错误而不包含模型本身的错误,则ValidationSummary呈现以下HTML:
<div class="validation-summary-errors"><ul><li style="display:none"></li></ul></div>
它显示为空列表,但由于列表周围的红色边框而仍然可见。对我来说,这似乎是个错误。我可以关闭ValidationSummary帮助程序来呈现一个空列表吗?
最佳答案
与usr的答案类似,我使用以下命令解决了这个问题:
public static IHtmlString FixedValidationSummary(this HtmlHelper htmlHelper)
{
return htmlHelper.FixedValidationSummary(false);
}
public static IHtmlString FixedValidationSummary(this HtmlHelper htmlHelper,
bool excludePropertyErrors)
{
var result = htmlHelper.ValidationSummary(excludePropertyErrors);
return result == null || result.ToString().Contains("display:none") ? null : result;
}
这样,我不必真正地 fork 原始文件。
同意,但是,这很烦人。
关于asp.net-mvc - 如果模型无效,则带有excludePropertyErrors = true的ASP.NET MVC Validationsummary呈现空,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3849553/