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