我遇到的情况是我可能需要填充0-n个字段。我通过尝试像这样在List<double>
循环中绑定到for
来实现这一点
@for (var i = 0; i < 3; i++)
{
<input type="text" @bind="TraineeValues[i]" />
}
问题在于底层列表值似乎没有更新。 小提琴在下面
答案 0 :(得分:1)
您需要在循环内创建另一个变量以获取正确的变量
@for (var i = 0; i < 3; i++)
{
var ii = i;
<input type="text" @bind="TraineeValues[ii]" />
}
答案 1 :(得分:0)
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循环本地变量。也就是说,该变量是在循环的每个迭代中定义的,否则在所有迭代中都是相同的变量,并且在循环结束时,您的代码将使用变量中包含的相同值。