Blazorでどのように動的に作成されたボタンを正しく配線しますか?

.net-standard blazor c# razor

質問

私はウェブフロントエンドにはかなり新しいですが、私が表示していたマトリックスのすべての「欠陥」のためのボタンをトグルするのは素晴らしいことだと思っています(したがって、マトリックスをバックトレースするパスを選ぶことができます)。

幸いにも、私はBlazorでボタンを動的に作成する方法を考え出しました...残念ながら、ボタンのワイヤリング方法はわかりません。

もし私が静的にボタンを作っていたら、最初の欠陥の位置についてはonclick = "@(()=> alignment.ChangeArrow(1))"と答えることができます。

下のコードスニペットで1(iの代わりに)を与えると、すべてのボタンが第1の欠陥のために機能しますが、変数を指定すると、まったく機能しません。

@for (int i = 0; i < alignment.FlawList.Count; i++)
{
    <button class="button" style="background-color:@alignment.ReturnColor(i)" onclick="@(()=>alignment.ChangeArrow(i))">@alignment.FlawList[i] @i</button>
}

私が話していることを行うための優れたブレーザー、ウェブの方法がありますか?

ご指摘ありがとうございます。

受け入れられた回答

これを試して:

@for (int i = 0; i < alignment.FlawList.Count; i++)
{
   var local_i = i;
    <button class="button" style="background-color:@alignment.ReturnColor(local_i)" onclick="@(()=>alignment.ChangeArrow(local_i))">@alignment.FlawList[local_i] @local_i</button>
}



ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ
ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ