2009-03-11 13 views
13

私はasp.net mvc開発に関するいくつかの簡単な質問があります。UpdateModel対TryUpdateModel

UpdateModelとTryUpdateModelの使い方は?どの条件がUpdateModelまたはTryUpdateModelのいずれかを使用するために適用されます。私の経験から、ModelへのFormCollectionのバインディングの横にあるTryUpdateModelもデータを検証します。それが正しいか ?

答えて

19

両方のメソッドを使用してモデルをフォーム値で更新し、検証を実行します。デフォルトのバインダーはありますが、必要に応じてカスタムバインダーを作成できます。

2つの方法の違いは、検証が失敗した場合UpdateModelが例外をスローし、検証結果がブール値であることをTryUpdateModelが通知する点です。

+0

TryUpdateModelとUpdateModelは、常にCustomModelBinderの代わりにDefaultModelBinderを使用しますか? – Funky81

+0

私は、CustomModelBindersを使用すると、フォームがActionメソッドのパラメータにバインドされているときにバックグラウンドで実行されるため、UpdateModelメソッドを明示的に呼び出す必要がないと考えています。 – antonioh

0

主な違い UPDATEMODEL()であろう例外をスローすることはありません検証が失敗しても(TryUpdatemodelであれば)例外をスロー検証が類似

を失敗した場合の両方がフォーム値を持つモデルを更新および検証

を実行するために使用され
関連する問題