Как отключить проверку перед вызовом UpdateModel в контроллере MVC3

Я хочу включить "сохранение" данных формы перед отправкой.

Я хочу, чтобы пользователи могли сохранять ход выполнения формы, даже если она находится в недопустимом состоянии, а затем возвращаться к ней позднее.

Теперь моя единственная проблема в том, что я хочу иметь возможность использовать UpdateModel способ обновить мою модель. Однако, поскольку форма потенциально недействительна или заполнена частично, это приведет к ошибке.

Есть ли способ аннотировать следующий метод таким образом, чтобы проверка игнорировалась в экземпляре SAVE?

[HttpPost]
public ActionResult Save(Model values)
{
var model = new Model();
UpdateModel(model);
}

Я хочу избавиться от необходимости писать сопоставление 1-1 для сохраняемых элементов - это мой запасной вариант, но он не очень удобен в обслуживании.

1 ответ

Решение

Дать TryUpdateModel(model) попытка, должна соответствовать вашим потребностям.

Это не вызовет исключения, обновит модель и вернет false если есть ошибки проверки.

Если вы заботитесь об ошибках, вы проверяете ModelState в ложном случае.

Следовательно, вы можете использовать его для сохранения изменений:

[HttpPost]
public ActionResult Save(Model values)
{
var model = new Model();
TryUpdateModel(model);

model.saveChanges();

}
Другие вопросы по тегам