Razor 返回多个集合以在MVC4 asp.net视图页中使用

Razor 返回多个集合以在MVC4 asp.net视图页中使用,razor,asp.net-mvc-4,Razor,Asp.net Mvc 4,我了解如何通过返回视图({mylist})从控制器返回单个集合(列表);然后在视图页面内使用razor语法@Model等引用该模型。在我的例子中,我想在页面上分别使用几个不同的集合。我知道我可以创建“所有集合之母集合”,只需将集合包含在另一个集合中(并返回该集合),但我想知道MVC4中是否有某种方法可以让我更优雅地处理这种情况 谢谢,新年快乐 您可以对控制器中的每个集合使用ViewBag,并在视图中使用这些ViewBag变量 内部控制器 public ActionResult HotelDeta

我了解如何通过返回视图({mylist})从控制器返回单个集合(列表);然后在视图页面内使用razor语法@Model等引用该模型。在我的例子中,我想在页面上分别使用几个不同的集合。我知道我可以创建“所有集合之母集合”,只需将集合包含在另一个集合中(并返回该集合),但我想知道MVC4中是否有某种方法可以让我更优雅地处理这种情况


谢谢,新年快乐

您可以对控制器中的每个集合使用
ViewBag
,并在视图中使用这些
ViewBag
变量

内部控制器

public ActionResult HotelDetails(List<HotelDetailsModel> model)
        {           
            ViewBag.HotelDetails = model;
            return View();
        }
PublicActionResult HotelDetails(列表模型)
{           
ViewBag.HotelDetails=模型;
返回视图();
}
以及

 @{
        List<HotelDetailsModel> hotels = (List<HotelDetailsModel>)ViewBag.SearchResultsModel;
        if (hotels.Count > 0)
        {
            foreach (HotelDetailsModel item in hotels)
            {   
}
}
}
@{
列表酒店=(列表)ViewBag.SearchResultsModel;
如果(hotels.Count>0)
{
foreach(酒店中的HotelDetailsModel项目)
{   
}
}
}

您应该创建一个视图模型。这是一个常规类,它将保存视图中所需的所有集合或属性


查看此帖子:

是否改用viewmodel?第一次谷歌点击:谢谢。看起来ViewModel只是集合(或其他内容)的集合。这对我很有用。