c# - Blazor 如何将参数传递给 onclick 函数?
问题描述
我想制作onclick
需要一些输入的按钮功能。
<button onclick="@test(123, 456)">Check</button>
@functions
{
public void test(int a, int b)
{
Console.WriteLine(a + b);
}
}
但由于某种原因,它会引发错误:
Argument "1": Cannot convert from void to string
稍后我想在 for 循环中创建这些按钮
@for (int i = 0; i < 10; i++)
{
<button onclick="@test(i, 5 * i)">Check</button>
}
我怎样才能做到这一点?
解决方案
用 lambda 试试。您将 绑定onclick
到函数的结果而不是函数本身。
@for (int i = 0; i < 10; i++)
{
var buttonNumber = i;
<button @onclick="@(e => test(buttonNumber, 5 * buttonNumber))">Check</button>
}
推荐阅读
- c# - 在 Unity 2D 中进行空投攻击
- openoffice.org - OpenOffice Basic 宏与 openoffice API
- python - 如何使用python3按时间顺序在excel表或csv文件中创建新列?
- python - 在不同的饼图中为每个标签保持相同的颜色
- angular - 角材料“垫标签”不是已知元素
- java - 如何在 Java 中显示有效日期的数量?
- excel - 下拉自定义隐藏和取消隐藏
- typescript - Typescript 不相信一定会在对象中创建属性
- javascript - 如何在 jQuery/javascript 中使用 Django 查询集
- python - 应用程序与 buildpack 不兼容 - Heroku/python