2011-05-13 11 views
1

MVCのコントローラは、ビューに与えられたデータがどのように表示されるのかを完全に無視してはいけませんか?mvc MVCの選択リストの分離

私の質問は、SelectListに関連しています。コントローラーは、データがドロップダウンで表示されることを知るのに十分に巧妙でなければなりませんか?または、ビューモデルを介してアイテムのリストを単純に表示し、必要に応じてビューを処理させますか?

+0

http://stackoverflow.com/questions/526641/what-to-put-in-your-viewmodelの可能性のある複製 – Paul

+0

この質問は、あまりにも主観的すぎて役に立たないかもしれません... – Paul

答えて

1

絶対に - コントローラーは正しい構造で正しいデータを渡す責任がありますが、見た目については猿を与えません。ビューは、コントローラが視覚的ロジックに関与してはならないことを望むなら、ランダムな位置に各リスト項目を表示することを選択することができます。そうでなければ、あなたが言うように、あなたは「懸念の分離」を失います。

+0

あなたは最初の段落、または2番目の段落? :)。私は個人的には、情報がどのように表示されるか(選択リスト内で)を推測しているコントローラーが十分に分離されていないと考えています。私は、コントローラがビューに必要なものを提供する必要があることを理解していますが、それはそれがどのように使用されるかを知るために伸びません。 SelectListとしてデータを定義することは、私の意見ではあまりにも多くのことを知っています。 SelectListが役に立たないというわけではなく、厳密にMVCかどうか不思議です。 – Paul

+0

@Paul - 私は最初の段落に同意します! :)コントローラがビューに必要なものを「インテリジェントな」ものにしてしまえば、非常に簡単です(これをあまりにも頻繁にやったことがわかります)。通常、強く型付けされたViewModelを作成し、それをコントローラからポピュレートしてビューに渡すと、レンダリング固有のロジックがコントローラから抽象化されています。 –

1

私はあなたが何を得ているかを見ます。 SelectListをどのように見ているかによって異なります。選択リストは、実際にはこの特定の用途に最適化されたデータ構造です。あなたが望むなら、実際にSelectListを何か他のもののために使うことができます。この意味では、依然として懸念が明確に分離されています。

+0

要約すると、SelectListは単なるデータ構造ですが、その性質上、Text値とValue値を持つという点で、特定の目的のために構築されています。それは "私はまっすぐドロップダウンに行くよ!"と叫ぶ。そして、私はその有用性を否定するつもりではなく、純粋なMVC分離について興味があるだけです。コメントありがとう。 – Paul

関連する問題