Где ловить исключения из настроенного ModelBinder

У меня есть настраиваемый ModelBinder, который связывает Интернет с объектом с помощью такого кода "

    [ModelBinder(typeof(CustomizedModelBinder))]
    public class Widget{ ... }

Этот связыватель моделей может генерировать исключения, и где мне добавить код, чтобы перехватить эти исключения? Заранее спасибо!


person Roy    schedule 15.12.2009    source источник


Ответы (1)


С точки зрения дизайна связывателю модели лучше добавлять ошибки модели, а не генерировать исключения:

ModelState.AddModelError("Phone", "Phone number is invalid.");

Таким образом, позже в своем действии вы можете проверить, действительна ли модель:

if (!ModelState.IsValid)
{
    ...
}
person Darin Dimitrov    schedule 15.12.2009
comment
Спасибо! Но я все же хотел бы сохранить страницу просмотра, которая будет перенаправлена ​​после обнаружения исключения. - person Roy; 15.12.2009
comment
как это сделать, а не в контроллере? Плохая идея иметь Model.IsValid в каждом контроллере в каждом командном действии. - person zolty13; 14.11.2019