【发布时间】:2009-03-29 17:10:44
【问题描述】:
我有一个这样的控制器动作:
[ActionName("Create"), AcceptVerbs(HttpVerbs.Post)]
public ActionResult Save([Bind(Exclude="Id")]Project project)
{
try
{
_projectRepository.Save(project);
return RedirectToAction("Details", new { id = project.Id });
}
catch (PropertyValueException ex)
{
ModelState.AddModelError(ex.PropertyName, ex.Message);
return View();
}
catch (Exception ex)
{
ModelState.AddModelError("", ex);
return View();
}
}
处理PropertyValueException的代码工作正常:错误由Html.ValidationSummary显示,错误正确显示在相关字段旁边。
使用第二个 catch 块,我试图迎合(例如)重复约束违规,我希望将异常显示在验证摘要中(它不能显示在特定字段旁边,因为我不没有那个信息)。它不起作用。
我做错了什么?
【问题讨论】: