我应该能够从C#例程的真实后页中调用?

问题描述 投票:0回答:1

我有一个托管有ASP.NET Core的Blazor WebAssembly应用,我的标记代码在Index.razor中,后面的代码在Index.razor.cs中。叫我老式。

我已经在razor和razor.cs之间建立了连接并且可以正常工作。找到我的C#例程,并且可以正常工作,除了那些调用。的例程。

例如,呼叫:

等待JSRuntime.InvokeVoidAsync(“ ShowAlert”,showAlertMessage);

当包含在后面的Index.razor.cs页上的例程中时,在识别InvokeVoidAsyc时发生编译错误。

我将主机C#例程移至标记Index.razor页面,所有内容都被识别并且可以正常工作。

然后,我的问题是,我应该能够在真正的后台页面中从C#例程调用a吗?您还有其他工作要做吗?我真的很想在razor.cs页面中保存所有我的背后代码。

或者是仅仅是从标记页面中托管的C#代码中调用像我这样的Blazor项目中的“钩子”?

Blazor让您在某种程度上混合搭配很酷。

javascript blazor code-behind
1个回答
0
投票
中有razor和razor.cs之间的连接

您是否已注入

private readonly IJSRuntime jsRuntime;

protected override void OnInitialized(IJSRuntime jsRuntime)
{
    this.jsRuntime = jsRuntime;
    base.OnInitialized();
}

在后面的代码中,因为如果注入了标记页面,它将看不到注入的类。

© www.soinside.com 2019 - 2024. All rights reserved.