MVC将列表从控制器传递到视图

本文关键字:视图 控制器 列表 MVC | 更新日期: 2023-09-27 18:22:29

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

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类型:

传递到字典中的模型项的类型为"System.Collections.Generic.List1[D2D.Web.ViewModels.DailyPlan.DaylyPlanListViewModel]",但此字典需要类型为"System.Collections.GenericList1[System.Collections.Generic.IENumberable`1[D2D.Veb.ViewModels.DailyPlan.DaylyPlan ListViewModel]]"的模型项。

我不能让它工作。我能做什么?

MVC将列表从控制器传递到视图

您需要删除IEnumerable部分:

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

您的列表是IEnumerable。

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