Как связать собственное событие с документом на странице бритвы (приложение на стороне сервера Blazor не взаимодействует с файлом) - PullRequest
4 голосов
/ 25 февраля 2020

Как связать собственное событие с документом на странице бритвы (серверное приложение Blazor не взаимодействует с файлом)

<button @onmousemove="@OnMouseMove">Login</Button>

Это родное событие в кнопочный элемент .

Необходимо связать то же самое собственное событие в Документ

1 Ответ

0 голосов
/ 25 февраля 2020

Этого можно добиться с помощью взаимодействия JavaScript и JavaScript (JS interop ). Вам нужно подписаться на событие в front-end и вызвать. Net code

document.addEventListener("mousemove", function () {
 DotNet.invokeMethodAsync('SoWebApplication (Assembly Name)', 'ReturnDataAsync (Method Name)')
  .then(data => {
        //This line appears in browser dev console.
        console.log(data + " from JS.");
  });
});

и создать метод stati c для вызова. Из документации:

Асинхронная версия предпочтительна для поддержки сценария Blazor Server ios. Метод. NET должен быть опубликован c, stati c и иметь атрибут [JSInvokable]. Вызов методов open generi c в настоящее время не поддерживается.

using System;
using System.Threading.Tasks;
using Microsoft.JSInterop;

static public class Test
{
    [JSInvokable]
    public static Task<string> ReturnDataAsync()
    {
        //This line appears in server console.
        Console.WriteLine("Hello from server");
        return Task.FromResult("Hello");
    }
}
...