Как отключить проверку перед вызовом 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();
}