2012-05-10 16 views
0

TryUpdateModelの実行中に更新順序を制御する方法はありますか?他のプロパティを更新するためには1つのプロパティを有効にする必要がありますが、デフォルトではもう一方のプロパティが更新されている間は2番目のプロパティはnullです。TryUpdateModel更新順序

デフォルトの更新順序は何ですか?変わったことは、コード内の必要なプロパティがモデルとフォームの両方で最初に宣言されていることです。私はこの実行順序に関する情報をインターネットで見つけることはできません。

答えて

2

TryUpdateModelの実行中に更新順序を制御する方法はありますか?

いいえ、注文は保証されません。また、いかなる注文もカウントしないでください。そのため、モデルが完全にバインドされ、ビューモデルのセッター内にないと、検証を実行する必要があります。

データアノテーションアトリビュートを使用することができます(特に条件付きでより複雑な検証シナリオの場合)。FluentValidation.NETintegrates very nicely)をASP.NET MVCに切り替えると強く推奨します。

0

私の知る限りでは、バインダーはクラス内で入力される順序でプロパティを取得します。最後に、GetPropertiesを実行したことがわかりました。これがメソッドのロード方法です。

しかし、これはプライベートな実装なので、これを考慮しないでください。このような制約がある場合は、独自のModelBinderを作成してください。

関連する問題