Your for loop should contain a local variable like this:
@for (var i = 0; i < 3; i++)
{
var localVariable = i;
<input type="text" @bind="TraineeValues[localVariable]" />
}
Это стандартное C# поведение, при котором ваш код имеет доступ к переменной, а не к значению переменной. Вы должны определить переменную, которая является локальной для цикла for; то есть эта переменная определяется на каждой итерации l oop, в противном случае это одна и та же переменная на всех итерациях, и ваш код будет использовать то же значение, содержащееся в переменной, когда l oop заканчивается.
См. Также это ...