我正在编写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并在浏览器中运行。
我的目标是避免在每个浏览器上加载服务器并进行计算。
谢谢
答案 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转译器