28

を実装する際に使用する一連のベスト プラクティスを探していますIModelBinder

私は 3 つの異なる MVC の本を読みましたが、実際の説明がなくても、それぞれの実装でわずかに異なることを行っています。

  • ヘンゼルマン、ハーク、ガスリー、コネリーの本は言及さえしていませんIModelBinder
  • PalermoDefaultModelBinderは を直接実装するよりも拡張することを推奨IModelBinderしていますが、その利点を活用する方法がよくわかりません。
  • Sanderson は、既存の Model インスタンスを更新すること、およびModelState.SetModelValue()規則に従うように呼び出すことについて言及しています。

モデル バインダーが規則に従っていること、および全体を正しく理解していることを確認したいだけですModelBindingContext

推奨するヒント、トリック、良いチュートリアルはありますか?

4

4 に答える 4

10

K Scott Allen がモデル バインドに関するヒントをいくつか提供しています: http://odetocode.com/blogs/scott/archive/2009/04/27/6-tips-for-asp-net-mvc-model-binding.aspx

于 2009-10-11T12:15:26.940 に答える
2

DefaultModelBinderから継承しました。これは、エンティティの基本プロパティを自動的にバインドするためです。強化したので、ナビゲーションプロパティもバインドします。私のバインダーは、最初に継承されたバインディングを実行してから、フォーム内の追加のナビゲーションプロパティ値を検索します。あなたのアプローチはあなたが本当にやりたいことに依存するべきだと思います。リフレクターを使用して、デフォルトのバインダーの背後に実際に何があるかを確認することもできます。これはあなたに継承するように説得するかもしれません。

于 2009-10-11T13:44:36.287 に答える
2

Travis Illig は最近、カスタム モデル バインダーを作成する際のデータ型の検証に関する非常に優れたブログ記事を書きました。

私はこれまでこのアドバイスを見たことがなく、本当に良いと思ったので、このリンクを提供したいと思いました: http://www.paraesthesia.com/archive/2012/01/31/data-type-validation-and-モデル バインディングの asp-net-mvc.aspx

于 2012-02-25T06:49:19.520 に答える
0

MVC Futures 2 には、拡張可能なモデル バインディング システムがあります。詳細については、 http://aspnet.codeplex.com/releases/view/41742のリリース ドキュメントを参照してください。

「ASP.NET MVC 2 Futures Extensible Model Binder Documentation」をダウンロードするだけです

于 2010-08-10T06:30:52.340 に答える