当我在 Controller 中生成错误并返回 View 时,验证摘要没有显示。对于 View 本身产生的错误,一切正常。我们怎样才能让摘要显示出来?
这是简化的 Controller 方法:
[HttpPost]
public ActionResult EditProfil(Prospect prospect)
{
ModelState.AddModelError(string.Empty, "You have an error");
if (!ModelState.IsValid)
return View("Edit", prospect);
return Json(prospect);
}
View 看起来像这样:
@model Prospect
@{
ViewBag.Title = "Profil du prospect";
Layout = null;
}
//Some javascript and CSS unrelated to validations
@using (Html.BeginForm())
{
@Html.ValidationSummary(false)
//My form controls...
}
最佳答案
编辑
问题是组合
ModelState.AddModelError(string.Empty, "You have an error");
和
@Html.ValidationSummary(false)
一个空字符串是 ""
被插入作为属性名称,事件认为它是一个空字符串。从呈现摘要中删除 bool 值 false
或将 null
传递给 modelstate 包。
关于c# - 验证摘要未显示 Controller 中生成的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13420730/