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は、 false インスタンスでチェックします。

したがって、常に変更を保存するためにそのまま使用できます。

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

model.saveChanges();

}
于 2012-04-05T18:05:42.880 に答える