Blazor, как передать аргументы в функцию onclick? - PullRequest
0 голосов
/ 22 января 2019

Я бы хотел сделать функцию кнопки 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>
}

Как мне этого добиться?

Ответы [ 2 ]

0 голосов
/ 03 июля 2019

Амперсанд на onclick указывает, что это функция C #:

@onclick = "@(() => test(i, 5*i))"
0 голосов
/ 22 января 2019

Попробуй с лямбдой.Вы связываете onclick с результатом функции, а не с самой функцией.

@for (int i = 0; i < 10; i++)
{
    <button @onclick="@(e => test(i, 5 * i))">Check</button>
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...