我目前有一个数据库,以及一个在数据库中显示信息的MVC设置。问题是它在网页上为正在调用的列中的每个数据创建一行。我想要它做的是,只显示与特定行相关的信息。我有一个ID列,想做像ID = 1那样显示这个公司,但我不知道如何在cshtml文件中的c#代码块中做到这一点。
这就是我目前所拥有的,并且正在创建9个公司行和9个名称行,但我只想要其中一个:
<table>
@{
Model.BallDataList = Model.BallDataList.OrderBy(x => x.ID).ToList();
foreach(BallData row in Model.BallDataList)
{
<tr>
<td><b>Company: </b></td>
<td>@row.Company</td>
</tr>
<tr>
<td><b>Name: </b></td>
<td>@row.Name</td>
</tr>
}
}
</table>
答案 0 :(得分:0)
不确定你想要哪一个。
仅显示唯一ID:
var ballData = Model.BallDataList.
.GroupBy(x => x.ID).Select(g => g.First())
.OrderBy(x => x.ID);
foreach(var row in ballData)
{ /*...*/ }
仅显示那些ID为1:
var ballData = Model.BallDataList.
.Where(x => x.ID == 1)
.OrderBy(x => x.ID);
foreach(var row in ballData)
{ /*...*/ }
我稍微更改了代码,因此排序和过滤实际上不会影响您的模型状态。