你好,我是MVC的新手,我正在尝试为索引页面进行过滤,我希望能够过滤毕业状态。
因此,当我进入索引时,我将看到每个状态,并且只想过滤例如具有状态为“已通过”或“失败”的人
提前谢谢!
控制器:
var graduates = db.Graduated_Students;
return View(graduates.ToList());
查看:
<div class="content-body">
<div class="row">
<form action="#" method="post">
<div class="col-xs-12 col-sm-9 col-md-12">
<table class="table">
<tr>
<th>
@Resource.FirstName
</th>
<th>
@Resource.LastName
</th>
<th>
@Resource.CohortNumber
</th>
<th>
Placements
</th>
<th>
@Resource.GraduationStatus
</th>
</tr>
@foreach (var item in Model)
{
<tr>
<td>
@Html.DisplayFor(modelItem =>
item.FirstName)
</td>
<td>
@Html.DisplayFor(modelItem =>
item.LastName)
</td>
<td>
@Html.DisplayFor(modelItem => item.Name)
</td>
<td>
@Html.DisplayFor(modelItem =>
item.PartnerName)
</td>
<td>
@Html.DisplayFor(modelItem =>
item.GraduationStatus)
</td>
答案 0 :(得分:0)
您可以在视图中使用linq来过滤数据
在视图中
createdOn: {
$gte: new Date("2019-06-15T00:00:00.000Z"),
$lte: new Date("2019-06-15 23:59:59.000Z")
}
这种方法从数据库中获取所有数据,然后执行过滤
该方法可行,但是更好的方法是将Selected GraduationStatus作为参数发送给控制器,然后直接对db变量执行过滤
在控制器中
@foreach (var item in Model.Where(t=> t.GraduationStatus == <the graduation status selected in the dropdown> );
这样,您就不会从数据库中获取所有学生,而只会从那些与过滤器匹配的学生中获取