MVC从控制器传递列表到

时间:2015-11-19 10:22:25

标签: c# asp.net-mvc asp.net-mvc-4

我有一个控制器,它返回一个视图模型列表,如下所示:

public ActionResult Index()
{
   List<DailyPlanListViewModel> viewModels = new List<DailyPlanListViewModel>();
   //do some stuff with the list
   return View(viewModels);
}

以及获取列表并应显示信息的视图

@model List<IEnumerable<D2D.Web.ViewModels.DailyPlan.DailyPlanListViewModel>>

但我得到这个错误,因为IEnumerable类型:

  

传递到字典中的模型项的类型为&#39; System.Collections.Generic.List1 [D2D.Web.ViewModels.DailyPlan.DailyPlanListViewModel]&#39;,但此字典需要类型为&的模型项#39; System.Collections.Generic.List1 [System.Collections.Generic.IEnumerable`1 [D2D.Web.ViewModels.DailyPlan.DailyPlanListViewModel]]&#39;

我无法让它发挥作用。我该怎么办?

1 个答案:

答案 0 :(得分:2)

您需要删除IEnumerable部分:

@model List<D2D.Web.ViewModels.DailyPlan.DailyPlanListViewModel>

您的列表是IEnumerable。

更好的方法是创建另一个类来包装此列表,因此您只需将一个模型传递回视图而不是模型列表。