Возможно ли смешать код 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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