Возможно ли смешать код Javascript и C# в событии DOM в Blazor? ⇐ C#

Место общения программистов C#
Anonymous
Возможно ли смешать код Javascript и C# в событии DOM в Blazor?

Сообщение Anonymous »

Я пытаюсь добиться следующего в Blazor WebAssembly; Мне нужно иметь возможность прослушивать событие в компоненте и использовать код Javscript и C# следующим образом:

Код: Выделить всё

Test

@code {
public void Test()
{
JSRuntime.InvokeVoidAsync("console.log", "Showing log from C#");
}
}
Первая проблема заключается в том, что я получаю сообщение об ошибке "невозможно неявно преобразовать тип void в объект", поэтому, если я изменю подпись метода Test только для того, чтобы вернуть объект

Код: Выделить всё

public object Test()
{
JSRuntime.InvokeVoidAsync("console.log", "Showing log from C#");
return null;
}
Приложение компилируется, но после загрузки страницы функция «Test()» выполняется автоматически, и если я нажимаю кнопку, она просто выполняет код Javascript, а не обе части. кода.
Я знаю, что мне следует обрабатывать события в Blazor, добавляя к имени события символ «@», чтобы вызвать метод C#, и выполнять там код Javascript с помощью взаимодействия, но в таким образом, я не могу использовать «событие» Javascript по умолчанию, которое мне нужно, вместо версии «события» Blazor.
Заранее спасибо!

Подробнее здесь: https://stackoverflow.com/questions/628 ... -in-blazor

Вернуться в «C#»