0

関連するすべてのデータがコントローラーの署名のパラメーターを介して既に利用可能である場合、ビューモデルを使用するポイントは何ですか? 私はこれに似た多くの例を見てきました:

public ActionResult Index(BasicPage currentPage)
    {
        var model = new BasicViewModel { Heading = currentPage.Heading, Body = currentPage.MainBody, MyBlock = currentPage.MyBlock };
        return View(model);
    }

この例の「現在のページ」をビューに直接送信しないのはなぜですか? そのようにすることで悪い習慣と見なされるものはありますか?

上記は、asp.net-mvc に関する一般的な質問です。ここにも Episerver に関する質問を追加します。運が良ければ、誰かがそれに答えることができます。

MVC で行われた Alloy サイトを見ると、すべてのコントローラーでビューモデルが作成される上記のような同様の動作も見られました。コントローラーに送信されたページをビューに直接送信しないのはなぜですか? ビューモデルを作成するのは不要な手順のようですか? ほとんどの場合、ここでいくつかの重要なポイントを見逃しています =)

4

2 に答える 2

1

あなたのコード例は良い考えではありません。しかし、ビュー モデルを持つことは良いパターンです。すぐには必要ないかもしれませんが、ビューモデルを利用可能にして配置しておくことは、今後の追加に備えるための良いオプションです。Joel の MVC テンプレートからのコンセプトを採用します: http://world.episerver.com/Download/Items/EPiServer-CMS/EPiServer-7---CMS/EPiServer-7-MVC-Templates/

于 2013-02-08T13:35:11.160 に答える
1

ビューモデルの背後にある考え方は、それらがプレゼンテーション用に最適化されているということです。ドメイン オブジェクトを使用すると、ビュー自体にロジックを配置して、表示方法を制御する必要があります。ロジックをビューに配置するのは設計が悪いため、ビューモデルは柔軟性を提供し、このロジックをより適切な場所で管理できるようにします。

さらに、特定のビューに必要なフィールドのみを含めて、ビューモデルをより単純にすることができます。

于 2013-02-08T16:07:52.887 に答える