我对ASP.Net MVC有点新意,但我想了解何时以及如何最好地使用ViewModels。
在我的许多观点中,所需的数据仅部分位于一个模型中。为此,我使用AutoMapper将Model映射到ViewModel,然后将ViewModel传递给View。
但是,在其他视图中,需要来自多个模型的数据。
到目前为止我实现这一目标的方式是这样的:
public class GamesEditData
{
public Game Game { get; set; }
public ICollection<Genre> Genres { get; set; }
}
...其中游戏和流派是模特。我觉得我在这里做错了,因为这是直接将模型本身传递给View。这与我从单独的ViewModel传递属性的其他时间不同,这让我觉得我打破了某种模式。
简而言之,在ASP.Net MVC中使用ViewModel设计模式在多个模型中填充View的最佳方法是什么?
答案 0 :(得分:6)
或者,您可以使用Tuple
,将模型类型声明为:
@model Tuple<Game, ICollection<Genre>>