1

我希望在提交之前启用“保存”表单数据。

我希望用户能够保存表单进度,即使表单处于无效状态,然后稍后再返回。

现在,我唯一的问题是我希望能够使用UpdateModel方法来更新我的模型。但是,由于表单可能无效或仅部分完成,这将引发错误。

有没有办法注释以下方法,以便在SAVE实例中忽略验证?

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

我希望不必为要保存的元素编写 1-1 映射 - 这是我的后备选项,但不是很容易维护。

4

1 回答 1

1

试试看TryUpdateModel(model),应该符合你的需求。

这不会抛出异常,它会更新模型,false如果有验证错误则返回。

如果您关心错误,请检查ModelState错误实例。

因此,您可以使用它来始终保存更改:

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

model.saveChanges();

}
于 2012-04-05T18:05:42.880 回答