ModelState.AddModelError未显示任何消息

问题描述 投票:10回答:3

我正在使用telerik mvc网格。在我的表格中,我为字段定义了唯一的键。在控制器中,我使用try ...捕获错误,在DbUpdateException内部捕获。

在catch块中,我要处理错误并在视图中显示错误消息。因此,使用以下行,

ModelState.AddModelError("PROGRAM_ID", "Access for this program already exists.");
return View();

但是这不会显示错误消息。知道为什么吗?

asp.net-mvc telerik-grid telerik-mvc
3个回答
12
投票

[请确保您使用相同的键在视图中具有对应的ValidationMessage

@Html.ValidationMessage("PROGRAM_ID")

9
投票

ValidationSummary将仅显示string.empty的ModelErrors作为键。要在您的验证摘要中显示在ModelState.AddModelError中添加的错误,请将代码更改为:

ModelState.AddModelError(string.Empty, "Access for this program already exists.");

0
投票

遵循以下两个步骤:(达林的解决方案起作用)

  1. 在控制器中添加:ModelState.AddModelError("PROGRAM_ID", "Error Msg");
  2. 在视图中添加:@Html.ValidationMessage("PROGRAM_ID")
© www.soinside.com 2019 - 2024. All rights reserved.