我们使用 Blazor WebAssembly,我想通过 JavaScript 在我的 Index.razor-File 中调用一个非静态方法。
JavaScript:
(function () {
// keydown event
window.addEventListener("keydown", function (e) {
DotNet.invokeMethodAsync('MyBlazorWebAssemblyApp.Client', 'MyMethod');
});
})();
索引剃刀:
@page "/"
@inject HttpClient Http
@code {
// [...]
[JSInvokable]
public async Task MyMethod()
{
var lResponse = await Http.GetFromJsonAsync<object>("Controller/Action");
}
}
当我通过按键执行代码时,Microsoft Edge 中的开发人员工具向我显示以下错误:
blazor.webassembly.js:1 System.ArgumentException:程序集“MyBlazorWebAssemblyApp.Client”不包含具有 [JSInvokableAttribute("MyMethod")] 的公共可调用方法。
当我替换该属性时[JSInvokable]
,[JSInvokableAttribute("MyMethod")]
会出现相同的错误。
我该如何解决这个问题?