从多个表到mvc视图显示数据不起作用

时间:2015-12-10 05:00:23

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

我有两张不相关的表格。我想将它们的数据显示在我的视图中。我尝试添加一个类来将数据传递给它,如下所示:

public class OrderViewData
{
    public List<EventHome> Events { get; set; }
    public List<Portfolio> Portfolio{ get; set; }
}

EventHome 投资组合是我的表格名称 然后我在我的Controller中使用LinQ select来获取我的列表并将其发送到视图 像这样

ToddlerEntities db=new ToddlerEntities();
public ActionResult Index()
{
    OrderViewData orderView = new OrderViewData();
    orderView.Events = (from o in db.EventHome select o).ToList();
    orderView.Portfolio = (from o in db.Portfolio select o).ToList();
    return View(orderView);     
}

在我看来我试图把我的清单

@model List<Toddlers.Models.OrderViewData>

@foreach (var ev in Model)
{
    @Html.DisplayFor(modelItem => ev.Events.EventsImg)
}

但是我收到以下错误

  

传递到字典中的模型项类型为&#39; Toddlers.Models.OrderViewData&#39;,但此字典需要类型为&#39; System.Collections.Generic.List`1 [Toddlers]的模型项.Models.OrderViewData]

1 个答案:

答案 0 :(得分:0)

您将OrderViewData的单个实例传递给视图,以便您的视图需要

@model Toddlers.Models.OrderViewData

然后遍历其集合

@foreach (var ev in Model.Events)
{
    @Html.DisplayFor(m => ev.EventsImg)
}

附注:没有必要制作馆藏List<T> - 它们可能只是IEnumarable<T>