我有一个这样的循环:
@foreach(var elevation in inventory.Elevations)
{
<td>@elevation.Title</td>
}
现在我的库存。高度可以有 3 或 4 个项目,永远不会更多或更少。
标题可以是“A”、“B”、“C”或“D”。举个例子,一个inventory.Elevations可能有A、C和D但没有B,而另一个可能有B、C、D但没有A,而另一个可能有A、B、D但没有C。如果是这样的话,我会喜欢显示 <td> </td>
我将如何完成此操作?我什至不知道该怎么做才能做到这一点。
答案 0 :(得分:2)
将一个列表中的所有海拔定义为 var elevations = new List<string>() { "A", "B", "C", "D" };
。遍历每个并检查您的 inventory.Elevations
。如果找到,则获取 Title
其他
。完整代码如下。
@{
// Set all your elevations
var elevations = new List<string>() { "A", "B", "C", "D" };
}
@foreach(var e in elevations)
{
<td>@(inventory.Elevations.FirstOrDefault(x => x.Title == e)?.Title ?? " ")</td>
}
或者您可以添加具有条件 elevations.Contains
的三元,如下所示。
@{
// Set all your elevations
var elevations = new List<string>() { "A", "B", "C", "D" };
}
@foreach(var elevation in inventory.Elevations)
{
<td>@(elevations.Contains(elevation.Title) ? elevation.Title : " ")</td>
}