在 Blazor 组件中,我想从锚标记的 HTML onclick 事件中调用 JS 方法,因此:
<a onclick="window.LoadImage();" class="@CssClass">@DisplayName</a>
我的JS方法是:
window.LoadImage = () => {
DotNet.invokeMethodAsync('MyProject', 'FireEvent').then();
}
在 JS 方法中,我想触发一个 C# 静态方法来触发事件,因此:
[JSInvokable]
public static void FireEvent()
{
StateEngine.LoadImage(DisplayName, Target);
}
[Parameter]
public string DisplayName { get; set; }
[Parameter]
public string Target { get; set; }
我无法通过 JS 方法找到 C# 方法。我已经为第一个参数尝试了多种名称配置,例如
MyProject (the assembly name)
MyProject.FolderName.ComponentName
FolderName.ComponentName
ComponentName
仅举几例。我还尝试通过第二个参数改组名称。
这应该如何工作?我错过了什么?
PS请忽略静态方法中有关实例属性的位。我有一个解决方法,但不想弄乱帖子。