У меня есть действие контроллера, подобное этому:
[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
, а ошибка отображается рядом с соответствующим полем правильно.
Со вторым блоком перехвата я пытался обслужить (например, повторяющиеся нарушения ограничений) и хотел, чтобы исключение отображалось в сводке проверки (ее нельзя отобразить рядом с конкретным полем, потому что я не не имею этой информации). Это не работает.
Что я делаю не так?