TryUpdateModel
の実行中に更新順序を制御する方法はありますか?他のプロパティを更新するためには1つのプロパティを有効にする必要がありますが、デフォルトではもう一方のプロパティが更新されている間は2番目のプロパティはnullです。TryUpdateModel更新順序
デフォルトの更新順序は何ですか?変わったことは、コード内の必要なプロパティがモデルとフォームの両方で最初に宣言されていることです。私はこの実行順序に関する情報をインターネットで見つけることはできません。
TryUpdateModel
の実行中に更新順序を制御する方法はありますか?他のプロパティを更新するためには1つのプロパティを有効にする必要がありますが、デフォルトではもう一方のプロパティが更新されている間は2番目のプロパティはnullです。TryUpdateModel更新順序
デフォルトの更新順序は何ですか?変わったことは、コード内の必要なプロパティがモデルとフォームの両方で最初に宣言されていることです。私はこの実行順序に関する情報をインターネットで見つけることはできません。
TryUpdateModelの実行中に更新順序を制御する方法はありますか?
いいえ、注文は保証されません。また、いかなる注文もカウントしないでください。そのため、モデルが完全にバインドされ、ビューモデルのセッター内にないと、検証を実行する必要があります。
データアノテーションアトリビュートを使用することができます(特に条件付きでより複雑な検証シナリオの場合)。FluentValidation.NET(integrates very nicely)をASP.NET MVCに切り替えると強く推奨します。
私の知る限りでは、バインダーはクラス内で入力される順序でプロパティを取得します。最後に、GetPropertiesを実行したことがわかりました。これがメソッドのロード方法です。
しかし、これはプライベートな実装なので、これを考慮しないでください。このような制約がある場合は、独自のModelBinderを作成してください。