【发布时间】:2017-04-30 21:22:36
【问题描述】:
我的 ValidationSummary 中无法显示自定义错误。 (按预期正确显示属性级错误。)
控制器:
[HttpPost]
public async Task<ActionResult> Contact(ContactViewModel model)
{
if (ModelState.IsValid)
{
try
{
Mail mail = new Mail
{
ToAddress = "user@example.com",
Subject = model.Subject,
Body = model.Message
};
if (!string.IsNullOrWhiteSpace(model.Email))
mail.FromAddress = model.Email;
await mail.SendAsync();
return View("ContactConfirm");
}
catch (Exception ex)
{
ModelState.AddModelError(string.Empty, ex);
}
}
return View(model);
}
查看:
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
我可以单步执行我的代码并看到ModelState.AddModelError(string.Empty, ex); 行已执行,并且存在有效错误,但标记未呈现任何错误消息。
注意:虽然页面上看不到任何内容,但验证摘要的基础标记如下:
<div class="validation-summary-errors text-danger">
<ul>
<li style="display:none"></li>
</ul>
</div>
谁能帮我弄清楚为什么我的错误没有显示?
【问题讨论】:
-
尝试使用
@Html.ValidationSummary(false, "", new { @class = "text-danger" }) -
@AdnanNiloy:不,这是为了显示属性级错误,我不想在摘要中显示。这不是属性级别的错误,正如我将密钥设置为
string.Empty所见。请注意,我确实尝试过只是为了确认 - 它没有帮助。 -
糟糕!我的错!我看到@sleeyuen 给了你解决方案。快乐编码:)
标签: c# asp.net asp.net-mvc razor