如何将按钮值传递到 onclick 事件中?

How to pass the button value into an onclick event?

提问人:Imogen 提问时间:3/10/2023 最后编辑:Imogen 更新时间:3/10/2023 访问量:46

问:

我有一个 for 循环,它将计算出显示所需的按钮数量,然后我想将该值传递给方法。但是,无论我按下哪个按钮,它都说是 6 并且正在崩溃。如何获取特定按钮值?iii

    @for (int i = 1; i < maxPage + 1; i++)
{
    <button value="@i" @onclick="@(e => dosomething(this.value))">@i</button>
}


@code {
    int maxPage = 5;
 
    private void dosomething(int val)
    {
        Console.WriteLine(val);
    }

   
}
C# HTML 分页 参数传递 blazor-server-side

评论


答:

-1赞 Imogen 3/10/2023 #1
@for(var i=0; i<5; i++) {
     var index = i;
     <button @onclick="@(e => click(index, 5 * index))">Button @i</button>
 } 


@code {
     private void click(int a, int b) {
         Console.WriteLine(a + b);
     }
 }  

变量索引保存每个按钮的 i 值,以便它们不会更改,并且每个按钮都有自己的值