我正在使用telerik mvc网格。在我的表中,我为字段定义了唯一键。在控制器中,我使用try ... catch在DbUpdateException中捕获错误。
在catch块中我想处理错误并在视图中显示错误消息。所以使用以下行,
ModelState.AddModelError("PROGRAM_ID", "Access for this program already exists.");
return View();
但这并未显示错误消息。知道为什么吗?
答案 0 :(得分:10)
确保视图中的相应ValidationMessage
使用相同的密钥:
@Html.ValidationMessage("PROGRAM_ID")
答案 1 :(得分:7)
ValidationSummary仅显示string.empty的ModelErrors作为键。要在validationsummary中显示使用ModelState.AddModelError添加的错误,请将代码更改为:
ModelState.AddModelError(string.Empty, "Access for this program already exists.");
答案 2 :(得分:0)
遵循2个步骤:(达林的解决方案起作用)
ModelState.AddModelError("PROGRAM_ID", "Error Msg");
@Html.ValidationMessage("PROGRAM_ID")