ASP.NET返回多个列表进行查看

时间:2016-09-07 18:51:15

标签: c# asp.net asp.net-mvc entity-framework

我正在使用ASP.NET MVC实体框架,我试图将两个列表返回到一个视图。

到目前为止,我可以返回一个列表:

public ActionResult Index()
{
    return View(db.Data.ToList().Where(model => model.hidden == false).Where(model => model.collection == "Singles"));
}

我还需要回复:

db.Data.ToList().Where(model => model.hidden == false).Where(model => model.collection == "Towns")

1 个答案:

答案 0 :(得分:4)

创建一个包含2个属性的视图模型。

假设db.Data返回类型Data

的集合
public clas ListViewModel
{
  public List<Data> SinglesData { set;get;}
  public List<Data> TownsData { set;get;}
}

现在使用此

public ActionResult Index()
{
  var vm=new ListViewModel();
  vm.SinglesData = db.Data
                     .Where(a=> a.hidden == false && a.collection == "Singles").ToList();
  vm.TownsData = db.Data
                   .Where(b=> b.hidden == false && b.collection == "Towns").ToList();
  return View(vm);
}

现在确保您的视图强烈输入新视图模型

@model ListViewModel
<h2>Singles Data </h1>
@foreach(var item in Model.SinglesData)
{
  <p>@item.SomeProperty</p>
}
<h2>Towns Data </h1>
@foreach(var item in Model.TownsData)
{
  <p>@item.SomeProperty</p>
}