【发布时间】:2020-10-30 23:48:12
【问题描述】:
我有以下代码,但是当我单击<tr> 元素时传递的索引参数始终为 9。
那是因为我在表中有 9 行作为数据传递给组件。 所以看起来索引始终是最后设置的变量“i”的值......在这种情况下,foreach 循环中最后一行之后的 i 的值是 9,所以我在单击所有时将索引参数设为 9表中的行...
我的代码中没有为每行 onclick 设置 i 值的问题是什么。
<table border="1">
@for(int i=0;i< ListData.DataView.Table.Rows.Count; i++)
{
<tr @onclick="(() => RowSelect(i))">
@foreach (ModelColumn col in ListData.ListColumns)
{
<td>@ListData.DataView.Table.Rows[i][col.Name]</td>
}
</tr>
}
</table>
@code {
private async Task RowSelect(int rowIndex)
{
await ListRowSelected.InvokeAsync(rowIndex);
}
}
【问题讨论】:
-
在将计数器
i传递给 lambda 之前,您需要对其进行缓冲。
标签: c# razor-pages blazor-server-side