0

4.0 フレームワークを使用するように古い ASP.NET MVC アプリケーションを更新していますが、カスタム ModelBinders をどうすればよいかわかりません。これらは、4.0 には存在しないと思われる Microsoft.Web.Mvc.DataAnnotations.DataAnnotationsModelBinder を拡張し、global.asax に登録されています。

特定のバインディング検証ルールを実装する最良の方法は何ですか? カスタム モデル バインダーを引き続き使用する必要がありますか? もしそうなら、私がサブクラス化する(またはおそらく装飾する)べきデフォルトのバインダーは何ですか?または、代わりにカスタム検証属性を作成する必要がありますか? または、他の何か?

4

1 に答える 1

0

カスタム モデル バインダーを引き続き使用する必要がありますか?

アプリケーションが何をするのか、なぜこのカスタム モデル バインダーが以前に必要だったのかを説明せずに語ることはできません。

もしそうなら、私がサブクラス化する(またはおそらく装飾する)べきデフォルトのバインダーは何ですか?

既定のモデル バインダーは次のとおりです。これはインターフェイスSystem.Web.Mvc.DefaultModelBinderを実装しIModelBinderますが、既定のモデル バインダーには既に多くの機能が含まれているため、カスタム モデル バインダーを作成するときにインターフェイスを直接実装する必要はほとんどありません。

または、代わりにカスタム検証属性を作成する必要がありますか?

検証を行っている場合は、ValidationAttributeまたは既存のデータ注釈の一部から派生した検証属性を実際に作成できます。または、あなたが私のような人なら、 FluentValidation.NETを使用できます。

したがって、ご覧のとおり、すべて依存します。

于 2012-08-16T17:19:56.240 に答える