I'd want to make button onclick
function that takes some input.
<button onclick="@test(123, 456)">Check</button>
@functions
{
public void test(int a, int b)
{
Console.WriteLine(a + b);
}
}
But for some reason it throws an error:
Argument "1": Cannot convert from void to string
Later I'd want to create those buttons in for loop like
@for (int i = 0; i < 10; i++)
{
<button onclick="@test(i, 5 * i)">Check</button>
}
How can I achieve that?
Try it with a lambda. You're binding the onclick
to the result of the function rather than the function itself.
@for (int i = 0; i < 10; i++)
{
var buttonNumber = i;
<button @onclick="@(e => test(buttonNumber, 5 * buttonNumber))">Check</button>
}