我有一个对象数组,其中包含一个 IsChecked
属性。
我使用该数组填充表格,在 IsChecked
属性上使用 @bind 绑定到输入框。
当我尝试切换值时,会出现错误。
如果我立即更改值为 IsChecked = true
,则复选框将被选中。
for(var i = 0; i < firms.Length; i++)
{
<tr>
<td>@firms[i].ShortTitle</td>
<th scope="row">
<div class="custom-control custom-checkbox">
<input type="checkbox" ... @bind="@firms[i].IsChecked" />
..
</div>
</th>
</tr>
}
错误:
Microsoft.AspNetCore.Components.Server.Circuits.RemoteRenderer: 警告:未处理的异常呈现组件:索引超出数组界限。
System.IndexOutOfRangeException:索引超出了数组范围。 在....<>c__DisplayClass0_1.b__6(Boolean __value) 在 Microsoft.AspNetCore.Components.EventCallbackFactoryBinderExtensions.<>c__DisplayClass22_0`1.b__0(ChangeEventArgs e) --- 在抛出异常的前一个位置结束调用堆栈跟踪 --- 在 Microsoft.AspNetCore.Components.ComponentBase.CallStateHasChangedOnAsyncCompletion(Task task) 在 Microsoft.AspNetCore.Components.RenderTree.Renderer.GetErrorHandledTask(Task taskToHandle) Microsoft.AspNetCore.Components.Server.Circuits.CircuitHost: 错误: 'LzL8iNZr7FmkJFJRS3QTW3QzJwP9R-p3CaclRHcE1_A.'电路中出现未处理的异常。
System.IndexOutOfRangeException:索引超出了数组范围。 在...<>c__DisplayClass0_1.b__6(Boolean __value) 在 Microsoft.AspNetCore.Components.EventCallbackFactoryBinderExtensions.<>c__DisplayClass22_0`1.b__0(ChangeEventArgs e) --- 在抛出异常的前一个位置结束调用堆栈跟踪 --- 在 Microsoft.AspNetCore.Components.ComponentBase.CallStateHasChangedOnAsyncCompletion(Task task) 在 Microsoft.AspNetCore.Components.RenderTree.Renderer.GetErrorHandledTask(Task taskToHandle)
我做错了什么?
i == firms.Length
。如果在每次迭代中只打印i
到页面上会发生什么?它的值是firms.Length
的值重复firms.Length
次吗? - Jonathon Chase