在asp.net MVC中单个视图中组合多个输出

use*_*941 2 asp.net asp.net-mvc

我希望将asp.net MVC用于新项目.我在asp.net和web上查看了不同的例子.我仍然没有得到答案,将不同模型的输出组合成单个视图的最佳方法是什么.例如,我的主页将包含最近帖子的灾难,位置和快照.这些将来自三种不同的型号.我是否创建了包含所有内容的单个viewdata,并在视图中进行了混乱以相应地放置内容?

Jon*_*son 8

您为主页创建了一个ViewModel ...类似于......

public class MyHomepageViewModel
{
    public Categories MyCategories { get; set; }
    public Locations MyLocations { get; set; }
    public Snapshots MySnapshots { get; set; }

    public MyHomepageViewModel(Categories categories, Locations locations, Snapshots snapshots)
    {
        MyCategories = categories;
        MyLocations = locations;
        MySnapshots = snapshots;
    }
}
Run Code Online (Sandbox Code Playgroud)

然后您强烈地将主页键入此视图模型,您将可以访问视图中所需的所有内容=)