【问题标题】:Force blazor to run code on browser in javascript强制 blazor 在 javascript 中的浏览器上运行代码
【发布时间】:2020-05-14 17:06:46
【问题描述】:

我正在编写一个 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并在浏览器上运行。

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

谢谢

【问题讨论】:

  • 可以使用 Blazor WASM,全部在浏览器中运行
  • 是的,但我无法选择哪一行在浏览器上执行,哪一行在服务器上执行
  • 在你的服务器上创建 WebApi

标签: blazor


【解决方案1】:

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

否则,但我什至不知道它是否适用于 .Net Core,您可以使用 C#/JS 转译器,如 Bridge

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-12-21
    • 2020-12-26
    • 2016-09-23
    • 2012-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-18
    相关资源
    最近更新 更多