请看下面的代码。我在另一个中有一个foreach循环,但是当我运行页面行重复时。有没有办法停止重复行。 这是代码和结果:
![<div class="itemContent">
<table cellspacing="0" cellpadding="0" class="productspecstable" style="float: right">
<tbody>
<!-- B:07L -->
@foreach(var row in select)
{
foreach(var rows in selects)
{
<tr>
<td>@rows.Specifications</td>
<th>@row.LaptopOptions</th>
</tr>
}
}
</tbody>
</table>
</div>
答案 0 :(得分:1)
对于外循环的每次迭代,重复内循环。但是,你不能在两个列表上同步迭代,因为foreach只关心一个,在那个循环中,你真的不知道列表中的位置(所以你不能与第二个列表同步)。
可能的解决方案:
1)如果可以使用索引访问select [s],则使用一个for循环迭代两者(假设它们以相同的方式排序):
for(int idx=0;idx<select.Count;idx++)
{
...
@select[idx].Specifications
...
@selects[idx].LaptopOptions
...
}
2)尝试使用多个值(在发布代码之前的代码中)减少到一个选择,然后您只需要一个foreach循环:
foreach (var row in select)
{
...
@row.Specifications
...
@row.LaptopOptions
...
}
答案 1 :(得分:1)
我不完全确定你在最终布局中想要达到的目标,但是从你的形象来看,我认为你正在寻找一些类似于规范标题然后所有笔记本电脑的东西。选项。如果是这种情况,那么你需要这样的东西:
@foreach(var row in select){
<tr>
<th>@row.LaptopOptions</th>
</tr>
foreach(var rows in selects){
<tr>
<td>@rows.Specifications</td>
</tr>
}
}
答案 2 :(得分:0)
内部循环必须是你的外部循环,因为笔记本电脑选项可以有多个规范
foreach(var rows in selects){
foreach(var row in select){