Необработанный компонент рендеринга исключений: индекс вышел за пределы диапазона. Должно быть неотрицательным и меньше размера коллекции. (Параметр index)
System.ArgumentOutOfRangeException: индекс вышел за пределы допустимого диапазона. Должно быть неотрицательным и меньше размера коллекции. (Параметр index)
в System.Collections.Generic.List
Код: Выделить всё
1.get_Item(Int32 index) at BlazorApp.Components.Pages.Connections.c__DisplayClass0_0.b__0(Boolean __value) at Microsoft.AspNetCore.Components.EventCallbackFactoryBinderExtensions.c__DisplayClass64_0
at System.RuntimeMethodHandle.InvokeMethod(цель объекта, аргументы Void**, подпись подписи, логическое значение isConstructor)
at System.Reflection.MethodBaseInvoker. InvokeDirectByRefWithFewArgs(Object obj, Span`1 copyOfArgs, BindingFlags ignoreAttr)
--- Конец трассировки стека из предыдущего местоположения ---
в Microsoft.AspNetCore.Components.ComponentBase.CallStateHasChangedOnAsyncCompletion(Task Task)
в Microsoft.AspNetCore.Components.RenderTree.Renderer.GetErrorHandledTask(Task TaskToHandle, ComponentState owningComponentState)
Microsoft.AspNetCore.Components.Server.Circuits.RemoteRenderer: Предупреждение: компонент рендеринга необработанных исключений: индекс находился вне диапазона. Должно быть неотрицательным и меньше размера коллекции. (Параметр index)
System.ArgumentOutOfRangeException: Индекс вышел за пределы допустимого диапазона. Должно быть неотрицательным и меньше размера коллекции. (Параметр index)
в System.Collections.Generic.List
Код: Выделить всё
1.get_Item(Int32 index) at BlazorApp.Components.Pages.Connections.c__DisplayClass0_0.b__0(Boolean __value) at Microsoft.AspNetCore.Components.EventCallbackFactoryBinderExtensions.c__DisplayClass64_0
at System.RuntimeMethodHandle.InvokeMethod(цель объекта, аргументы Void**, подпись подписи, логическое значение isConstructor)
at System.Reflection.MethodBaseInvoker. InvokeDirectByRefWithFewArgs (Object obj, Span
Код: Выделить всё
1 copyOfArgs, BindingFlags invokeAttr) --- End of stack trace from previous location --- at Microsoft.AspNetCore.Components.ComponentBase.CallStateHasChangedOnAsyncCompletion(Task task) at Microsoft.AspNetCore.Components.RenderTree.Renderer.GetErrorHandledTask(Task taskToHandle, ComponentState owningComponentState) fail: Microsoft.AspNetCore.Components.Server.Circuits.CircuitHost[111] Unhandled exception in circuit '[circuitID]'. System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection. (Parameter 'index') at System.Collections.Generic.List
в BlazorApp.Components.Pages.Connections.c__DisplayClass0_0.b__0(Boolean __value)
в Microsoft.AspNetCore.Components.EventCallbackFactoryBinderExtensions.< >c__DisplayClass64_0
Код: Выделить всё
1.b__0(ChangeEventArgs e) at System.RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor) at System.Reflection.MethodBaseInvoker.InvokeDirectByRefWithFewArgs(Object obj, Span
--- Конец трассировки стека из предыдущего местоположения ---
в Microsoft.AspNetCore.Components.ComponentBase.CallStateHasChangedOnAsyncCompletion(Task Task)
at Microsoft.AspNetCore.Components.RenderTree.Renderer.GetErrorHandledTask(Task TaskToHandle, ComponentState owningComponentState)
Microsoft.AspNetCore.Components.Server.Circuits.CircuitHost: Ошибка: необработанное исключение в схеме «[circuitId]».
System.ArgumentOutOfRangeException: индекс вышел за пределы допустимого диапазона. Должно быть неотрицательным и меньше размера коллекции. (Параметр index)
в System.Collections.Generic.List
Код: Выделить всё
1.get_Item(Int32 index) at BlazorApp.Components.Pages.Connections.c__DisplayClass0_0.b__0(Boolean __value) at Microsoft.AspNetCore.Components.EventCallbackFactoryBinderExtensions.c__DisplayClass64_0
at System.RuntimeMethodHandle.InvokeMethod(цель аргументы, аргументы Void**, подпись команды, логическое значение isConstructor)
at System.Reflection.MethodBaseInvoker . InvokeDirectByRefWithFewArgs (Object obj, Span`1 copyOfArgs, BindingFlags ignoreAttr)
--- Конец трассировки стека из предыдущего местоположения ---
в Microsoft.AspNetCore.Components.ComponentBase.CallStateHasChangedOnAsyncCompletion(Task Task)
в Microsoft.AspNetCore.Components.RenderTree.Renderer.GetErrorHandledTask(Task TaskToHandle, ComponentState owningComponentState)
Вот соответствующая часть кода:< /p>
Код: Выделить всё
@page "/connections"
@rendermode InteractiveServer
Connections
@for (int i = 0; i < allWords.Count(); i++)
{
@allWords[i].Label
}
@code {
public List allWords = new List
{
new Word {Label = "blue", GroupId = 1},
new Word {Label = "blue", GroupId = 1},
new Word {Label = "blue", GroupId = 1},
new Word {Label = "blue", GroupId = 1},
new Word {Label = "yellow", GroupId = 2},
new Word {Label = "yellow", GroupId = 2},
new Word {Label = "yellow", GroupId = 2},
new Word {Label = "yellow", GroupId = 2},
new Word {Label = "green", GroupId = 3},
new Word {Label = "green", GroupId = 3},
new Word {Label = "green", GroupId = 3},
new Word {Label = "green", GroupId = 3},
new Word {Label = "purple", GroupId = 4},
new Word {Label = "purple", GroupId = 4},
new Word {Label = "purple", GroupId = 4},
new Word {Label = "purple", GroupId = 4}
};
public class Word
{
required public string Label { get; init; }
public int GroupId { get; init; }
public bool IsSelected { get; set; } = false;
}
}
Список allWords содержит 16 элементов, поэтому я не знаю, что проблема есть. Когда я жестко запрограммировал 16 в цикле for, возникает та же проблема. Когда я жестко запрограммировал там 15, проблема не возникает, но, конечно, мне не хватает флажка, и они даже не проверяются/снимаются должным образом.
Подробнее здесь: https://stackoverflow.com/questions/790 ... ex-was-out