3

私は ASP.Net MVC に少し慣れていませんが、いつ、どのように ViewModels を使用するのが最適かを理解しようとしています。

私のビューの多くでは、必要なデータは 1 つのモデルに存在するものの一部のみです。そのために、AutoMapper を使用して Model を ViewModel にマップし、ViewModel を View に渡します。

ただし、他のビューでは、複数のモデルからのデータが必要です。

私がこれまでこれを達成してきた方法は次のようなものです:

public class GamesEditData
{
    public Game Game { get; set; }
    public ICollection<Genre> Genres { get; set; }
}

...ここで、ゲームジャンルはモデルです。ただし、これはモデル自体をビューに直接渡しているため、ここで何か間違ったことをしているように感じます。これは、別の ViewModel からプロパティを渡す他の場合とは異なり、ある種のパターンを破っていると思います。

要するに、ASP.Net MVC で ViewModel デザイン パターンを使用してビューに複数のモデルを設定する最良の方法は何ですか?

4

1 に答える 1

6

ええ、それはまさに私がそれをする方法です。モデルにさらに要素を追加したり、モデルを属性で装飾したりする必要がある場合は、後で簡単に拡張できます。

または、 を使用してTuple、モデル タイプを次のように宣言することもできます。

@model Tuple<Game, ICollection<Genre>>
于 2013-06-14T01:26:52.813 に答える