如何将本地事件与剃刀页面中的文档绑定(Blazor服务器端应用程序不互操作文件)
<button @onmousemove="@OnMouseMove">Login</Button>
这是按钮元素中的本机事件绑定。
需要在文档
中绑定相同的本机事件答案 0 :(得分:0)
您可以通过JavaScript和JavaScript互操作性(JS interop)来实现。 您需要在前端订阅事件并调用.Net代码
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.");
});
});
并创建用于调用的静态方法。来自文档:
首选异步版本以支持Blazor Server方案。 .NET方法必须是公共的,静态的,并具有[JSInvokable]属性。当前不支持调用开放通用方法。
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");
}
}