2012-03-22 9 views
3

最近のプロジェクトでは、実行時に異なるビューを返すアクションが含まれています(単純に言えば、アプリケーションにはユーザーとしてさまざまな顧客があり、独自のカスタムデータ入力フォームこれらのフォームはすべて同じモデルオブジェクトグラフを共有しますが、モデルのデータの表示は根本的に異なります)...ASP.NET MVC - 実行時に異なるビューのモデルバインド

たとえば、「ケース」エンティティには複数の人物が関連付けられています。いくつかのフォームは1つのPersonフィールドのみを表示し、他のフォームは複数のPersonをサポートし、別のフォームはPerson情報をまったく含んでいません。さらに、フォームにはさまざまなレベルのフィールドがあります。多くのフォームには、他のフィールドには多くのフィールドがありません。

このように根本的に異なる動作のため、私はビューのデザインごとに異なるモデルバインダーが必要になると思います。

StackOverflowは、この場合に取るべき行動のコース、またはコードを単純にする別の解決策を推奨できます。

答えて

2

すべてのビューモデルが共通の抽象基底ビューモデルから派生している場合は、POSTアクションでこの共通ビューモデルをパラメータとして使用し、各ビューがインスタンスを送信すると仮定して、具体的な型を含む追加のパラメータ。

これはどうやってできるのかan exampleです。

関連する問題