7

かなりの数のドロップダウン リストと複数選択リストを持つ ASP.NET MVC アプリケーションがあります。基本的に、オプションのリストがたくさんあります。

私の質問は; これらのリストをモデルの一部としてビューに渡すのと、ViewData として渡すのとではどちらがよいでしょうか?

私は現在、モデルでそれらを実際に必要とせず、モデルで渡すにはかさばる可能性があるため、それらを ViewData として渡しています (選択したアイテムまたはアイテムを取得します。これが本当に必要なすべてです)。欠点として、ViewData は View でキャストする必要があり、これは厳密に型指定されたモデルほど良くありません。

ここにベストプラクティスはありますか? これらのいずれかの長所と短所の提案もいただければ幸いです。

4

2 に答える 2

6

ViewModels を使用してそのデータを渡すことをお勧めします。「魔法の文字列」で ViewData を使用するとエラーが発生しやすく、その「魔法の文字列」を覚えようとするのではなく、インテリセンスを使用することを好みます。また、コントローラーでその SelectLists を作成する必要はありません。IEnumerable を使用し、ビューで MvcContrib のToSelectList拡張メソッドを使用するだけです。

于 2010-02-26T16:13:30.217 に答える
-1

ビューに渡す項目が 1 つしかない場合は、ViewData を使用する傾向があります。したがって、複数のオブジェクトを送信していて、複数のドロップダウンに入力する必要がある場合は、ビュー モデルを作成します。また、Web アプリ プロジェクトでそのビュー モデルを作成するので、ビュー モデルに SelectList オブジェクトがある場合、ドメイン モデルで MVC dll への参照は必要ありません。

于 2010-02-26T16:35:18.360 に答える