在模型中声明列表
本文关键字:列表 声明 模型 | 更新日期: 2023-09-27 17:53:25
我有一个场景,我不想传递一个模型作为Ienumerable
列表到Razor视图
public class School
{
public int ID { get; set; }
public string Name { get; set; }
public string Address { get; set; }
}
我需要像下面这样传递模型给视图。
@model Doc.Web.Models.Common.School
没有
@model IEnumerable<Doc.Web.Models.Common.School>
因此,我在同一个模型中声明了一个List
public class School
{
public School()
{
lstSchool = new List<School>();
}
public int ID { get; set; }
public string Name { get; set; }
public string Address { get; set; }
public List<School> lstSchool { get; set; }
}
然后在控制器
public ActionResult Index()
{
School model= new School();
SchoolRepository rep = new SchoolRepository();
model.lstSchool= rep.GetData();//Read list of schools from database
return View(model);
}
这是实现这一目标的正确方法吗?
为什么要将@model Doc.Web.Models.Common.School
传递给视图?在你的视图中需要一个"list"
你可以试试……
类结构:创建一个SchoolList类
public class School
{
public int ID { get; set; }
public string Name { get; set; }
public string Address { get; set; }
}
public class SchoolList
{
public List<School> Schools { get; set; }
}
传递给view:
@model Doc.Web.Models.Common.SchoolList
控制器:
public ActionResult Index()
{
SchoolList model= new SchoolList();
SchoolRepository rep = new SchoolRepository();
//Read list of schools from database
model.Schools = rep.GetData();
return View(model);
}
这样你就不需要传递一个IEnumerable给视图来完成工作了