C# 在模型内声明列表
我有一个场景,我不想将模型作为C# 在模型内声明列表,c#,asp.net,asp.net-mvc,asp.net-mvc-4,razor,C#,Asp.net,Asp.net Mvc,Asp.net Mvc 4,Razor,我有一个场景,我不想将模型作为Ienumerable列表传递 到剃刀视野 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.W
Ienumerable
列表传递
到剃刀视野
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>
这是实现此目的的正确方法吗?为什么要将
@model Doc.Web.Models.Common.School
传递到视图?您需要在视图上显示“列表”的位置
这里有一些你可以尝试的东西
班级结构:创建学校列表班级
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; }
}
控制器:
@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传递给视图并完成工作。为什么学校会有一个学校列表?就像父子层次结构一样?从形式上讲,它是正确的,但从语义上讲,您可能会遇到问题。你的
学校
班级模型现在是什么?那很好。你必须在视图中使用model.lstSchool枚举值列表才能获得值。你称为“学校”的班级实际上是一个学校列表?你可以重新命名你的班级学校或学校名单。
@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);
}