обнаружил такую вещь. если есть действие:
public ActionResult MyAction (string name, int age)
{
}
если с клиента придет для ключа "age" нечисловое значение - вылетит исключение.
однако, если изменить действие так:
class PersonParams {
pubic string name {get;set;};
public int age{get;set;}
}
(кстати, поля фреймворком игнорируются, нужно объявлять именно свойства)
public ActionResult MyAction (PersonParams personParams)
{
}
- в этом случае, если с клиента придет для ключа "age" нечисловое значение - действие будет выполняться, исключение не вылетит, свойство age будет иметь дефолтовое значение 0, а ModelState.IsValid будет иметь значение true