【发布时间】:2018-02-13 13:07:52
【问题描述】:
我在一个视图中有两个表,第一个显示使用此控制器的查询结果:
控制器:
public ActionResult ResultDetails(int? id)
{
var tenders = from t in db.Tenders.Include(t => t.Compendium).Include(t => t.TrainerRegistration) select t;
tenders = tenders.Where(q => q.Compendium.InstitutionID==id);
return View(tenders.ToList());
}
在第一个表中显示数据非常简单。但是,当我尝试在第二个表中使用相同的脚手架剃刀语法时,这会返回重复的行,特别是在我的 item2.TrainerRegistration.NTTC 列中
@foreach (var item2 in Model)
{
<tr>
<td nowrap>
@Html.DisplayFor(modelItem => item2.TrainerRegistration.Trainer.TrainerName)
</td>
<td nowrap>
@Html.DisplayFor(modelItem => item2.TrainerRegistration.Qualification.Title)
</td>
<td nowrap>
@Html.DisplayFor(modelItem => item2.TrainerRegistration.NTTC)
</td>
</tr>
}
控制器中的查询确实会返回重复项,但是如何删除第二个表中的这些重复行?我尝试将 GroupBy() 或 Distinct() 添加到我的 NTTC 属性,但我无法让它以这种方式或其他变体工作:
@foreach (var item2 in Model.GroupBy(x => x.TrainerRegistration.NTTC).ToList())
经过多次猜测,更改@foreach 中的参数总是会以一种或另一种方式影响@Html.DisplayFor(modelItem => item2.****)。我已经猜到了这一点,如果有人能指出我这样做的正确方法,我将不胜感激。
【问题讨论】:
标签: asp.net-mvc linq razor html-helper distinct-values