强制blazor在JavaScript中的浏览器上运行代码

时间:2020-05-14 08:52:20

标签: blazor

我正在编写C#ASP.Net Core 3.1 Blazor Server应用程序。

这是我的剃须刀页面之一:

@page "/myurl"

<p>Variable1: @var1</p>

<button @onclick="test_event">Test</button>

@code {
    private int var1 = 0;

    private void test_event()
    {
        // This code is runned on server side
        var1 = /* Long calculation */;  // I want to run this line on browser, in javascript

        var1 = var1 + 1; // This calculation is basic and can be runned on server
    }
}

如您所见,test_event C#代码在服务器上运行。

现在,让我们假设我有很大的计算要做。有没有办法告诉C#将这行代码转换为javascript并在浏览器中运行。

我的目标是避免在每个浏览器上加载服务器并进行计算。

谢谢

1 个答案:

答案 0 :(得分:0)

不,可惜不是。
但是您可以在JS中实现它,并通过JS interop调用该函数,请参见此处:Call JavaScript functions from .NET methods in ASP.NET Core Blazor
另外,还必须使用在浏览器上运行的Blazor-Webassembly项目。 Blazor-Webassembly将于本月发布,候选版本已经可用。

否则,但是我什至不知道它是否可以在.Net Core下运行,您可以使用像Bridge这样的C#/ JS转译器