我使用 invokeMethodAsync 从 Javascript 调用 C# 方法。我一天前就让它工作了,但从那以后它就坏了,而且无论恢复多少更改似乎都无法修复它。
错误:System.ArgumentException: The assembly 'HelloWorld' does not contain a public invokable method with [JSInvokableAttribute("GetCodeFromList")].
JS:
DotNet.invokeMethodAsync('HelloWorld', 'GetCodeFromList')
.then(data => {
data.push(result.codeResult.code);
}
);
Run Code Online (Sandbox Code Playgroud)
这result.codeResult.code是我想要在 C# 端接收的号码。我已经确认这个号码是正确的。
C#:
[JSInvokable]
public void GetCodeFromList(long jsCode)
{
code = codes.Where(p => p.SecretCode.Equals(jsCode)).FirstOrDefault();
StateHasChanged();
}
Run Code Online (Sandbox Code Playgroud)
我有另一个 .razor 文件,其中有一个也称为 GetCodeFromList 的方法,我也希望可以使用相同的调用来访问该方法,但我尝试完全删除它,但这并没有解决问题。