Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net core 为什么';在我的示例(blazor)中,绑定不能使用数组和for循环吗?_Asp.net Core_Blazor - Fatal编程技术网

Asp.net core 为什么';在我的示例(blazor)中,绑定不能使用数组和for循环吗?

Asp.net core 为什么';在我的示例(blazor)中,绑定不能使用数组和for循环吗?,asp.net-core,blazor,Asp.net Core,Blazor,我有一个可能需要填充的0-n字段的情况。我通过在for循环中尝试绑定到List来实现这一点 @for (var i = 0; i < 3; i++) { <input type="text" @bind="TraineeValues[i]" /> } (变量i=0;i

我有一个可能需要填充的0-n字段的情况。我通过在
for
循环中尝试绑定到
List
来实现这一点

@for (var i = 0; i < 3; i++)
{                    
    <input type="text" @bind="TraineeValues[i]" />              
}
(变量i=0;i<3;i++) { } 问题在于底层列表值似乎没有更新。 在下面拉小提琴


您需要在循环中创建另一个变量以获得正确的变量

@for (var i = 0; i < 3; i++)
{                 
    var ii = i;   
    <input type="text" @bind="TraineeValues[ii]" />              
}
(变量i=0;i<3;i++) { var ii=i; }
for循环应包含如下局部变量:
@对于(变量i=0;i<3;i++)
{    
var localVariable=i;
}
这是标准的C#行为,代码可以访问变量而不是变量的值。您必须定义一个for循环的局部变量;也就是说,这个变量是在循环的每次迭代中定义的,否则它在所有迭代中都是相同的变量,并且当循环结束时,代码将使用变量中包含的相同值


您应该这样定义您的循环:@for(var i=0;i<3;i++){var local=i;}请看:这是否回答了您的问题?是的,谢谢。我不知道我怎么会错过这个。天气不好。
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]" />              
  }