ASP.NET返回多个列表以查看

本文关键字:列表 NET 返回 ASP | 更新日期: 2023-09-27 18:06:09

我使用的是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")

ASP.NET返回多个列表以查看

创建一个具有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>
}