私はプロフェッショナルASP.NET MVC 1.0の本を読んでいるだけでなく、ViewDataの代わりにViewModelを使用してコントローラからViewsにアクセスすることについて話し合っています。しかし、それからViewDataから何かを得る以外の方法がない場合、ViewDataの非常に多くの例が厳しいシナリオで使用されています。しかし、私はPro ASP.NET MVC Frameworkのような本を読んでいます。彼が話すのはViewDataだけで、ViewModelについては何も書いていません。 ViewModelは非常に新しいコンセプトなのでしょうか?ViewDataを使用するかどうかViewDataを使用するかどうか
ViewModelははるかに優れたアプローチですが、それは堅実な選択肢ですか?私はViewDataがすぐにあなたに利用可能であることを意味します他 ViewModelではないHtmlHelperオブジェクトなど。または、たとえばカスタムコントロール(http://www.codeproject.com/KB/custom-controls/MVCCustomControls.aspx)で使用します。だから私は別の目標や何に応じて両方のコンボを使用するのですか?どのような理由でExtensionメソッドのViewModelにアクセスしたいのですが?私はここでどの道を取るべきかについて迷っている。 ViewDataは強く型付けされていませんが、型を指定するようにビューを設定できるため、ViewData型を作成できますが、私は不思議です。 ViewDataは非常に多くサポートされていますが、ViewModelは、抽象的で分割された型になっているだけでなく、型付けされていることもわかります。私は、HtmlHelperクラスのような他のオブジェクトから簡単にアクセス可能なViewDataのような特定のデータを取得する必要があるシナリオでは、自分自身を短くしたくありません。
思考?基準?経験?私はちょっと離れているのですか、コンボを使用していて、コントローラからビューにデータを送信するだけでなく、何か他の状況でもViewDataを使用しますか?
また、ViewModelをコントローラで使用していない場合、ViewModelを使用しているため、ViewModelを使用していると思われるので、ViewDataを何も設定していないので目的がありませんあなたのコントローラからは、その時点では使用できません。私は誰か道を混乱させていますか?自分自身のことを混乱させているのは確かです。
私はViewData.Modelについて話していません。私はあなたのモデルから特定のオブジェクトを取得する作業を行うViewとController "ViewModels"の間にあるクラスの追加層について話しています。コントローラはModelレイヤーのアイテムを取得するコントローラの代わりにそれらを使用できます。 – PositiveGuy