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

时间:2013-01-01 06:48:19

标签: razor asp.net-mvc-4

我了解如何通过返回View({mylist})从控制器返回单个集合(List<>);然后在视图页面内使用razor语法@Model等引用它。就我而言,我有几个不同的集合,我想在页面上单独使用。我知道我可以制作“所有收藏集合的母亲”并简单地将集合包含在另一个集合中(并返回那个集合),但我想知道MVC4中是否有某种方式可以让我更优雅地处理这种情况

谢谢,新年快乐!

2 个答案:

答案 0 :(得分:0)

您可以为控制器中的每个集合使用ViewBag并使用那些ViewBag变量查看

在控制器中

public ActionResult HotelDetails(List<HotelDetailsModel> model)
        {           
            ViewBag.HotelDetails = model;
            return View();
        }

并在视图中

 @{
        List<HotelDetailsModel> hotels = (List<HotelDetailsModel>)ViewBag.SearchResultsModel;
        if (hotels.Count > 0)
        {
            foreach (HotelDetailsModel item in hotels)
            {   
}
}
}

答案 1 :(得分:0)

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

查看此帖子:http://msdn.microsoft.com/en-us/vs2010trainingcourse_aspnetmvc3fundamentals_topic7.aspx