我正在研究MVC。我需要根据注册部门明智地选择学生名单并显示它们 在不同的divs departmentalize,基于注册的部门。 我的数据库示例模式如下
学生表
ID, Name
报名表
ID
Depart_id
Stdref_id
部门表
ID
DepartName
我正在尝试这样的事情:
public ActionResult NewStudentFeeStatus()
{
IEnumerable<tblStdDetail> mdl = null;
var departments= (from d in db.tblDepartments select d).ToList();
var query = "";
List<StdListModel> model = new List<StdListModel>();
foreach (var item in departments)
{
query = (from p in db.tblStdDetails
join e in db.tblStdEnrollments on p.ID equals
e.StdReg_ref_id
where e.Depart_ref_id == @item.ID
select p).ToList();
}
return View();
}
我需要一个方向或示例代码来遵循所需的输出。我不知道接下来该做什么以及如何在视野中管理它。 如果您有任何想法,请帮助我。
答案 0 :(得分:1)
你可以这样做(我实现了你的问题!!):
数据库表
<强>动作强>
public ActionResult NewStudentFeeStatus()
{
ViewBag.DeparmentList = db.tblDepartments.ToList();
List<tblStdEnrollment> enrollmentList = (from p in db.tblStdDetails
join e in db.tblStdEnrollments on p.ID equals e.Stdref_id
select e).ToList();
return View(enrollmentList);
}
查看强>
@model IEnumerable<tblStdEnrollment>
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>NewStudentFeeStatus</title>
</head>
<body>
<div>
@foreach (var item in @ViewBag.DeparmentList)
{
<div>@item.DepartName</div>
foreach (var student in Model.Where(s => s.Depart_ref_id == item.ID).ToList())
{
<div>@student.tblStdDetail.Name</div>
}
}
</div>
</body>
</html>