c# - Blazor 传递一个 javascript 对象作为 IJSRuntime 的参数

标签 c# asp.net-core blazor blazor-webassembly

我想将 javascript 文件中已存在的 javascript 对象作为参数传递给 InvokeVoidAsync 方法:

myJs.js:

var myObject= {a:1,b:2};

MyComponent.razor :

@inject IJSRuntime js

@code {
    private async Task MyMethod()
    {
        await js.InvokeVoidAsync("someJsFunction", /*how to add myObject here? */);
    }
}

如何将 myObject 传递给 someJsFunction 函数? (请注意,该函数也应该接受 C# 对象)

最佳答案

我终于找到了窍门,只需使用 eval 函数即可:

  private async Task MyMethod()
    {
        object data = await js.InvokeAsync<Person>("eval","myObject");
        await js.InvokeVoidAsync("someJsFunction", data );
    } 

关于c# - Blazor 传递一个 javascript 对象作为 IJSRuntime 的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65110061/

相关文章:

iis - Blazor WASM - IIS 上的独立部署

blazor - 延迟的 OnParametersSetAsync 任务触发子组件的重复 OnParametersSet

c# - 为什么需要 FaultContract,而我们只能使用 FaultException?

asp.net-core - 不同域上的ASP.NET Core的CookieAuthenticationAuthenticationOptions.LoginPath

App Insights 升级到 2.5 后,Azure 应用服务将无法启动

blazor - 如何在组件外部放置 Blazor EditForm 的提交按钮

c# - 将 nlog 中的记录添加到 dataType = date 的字段

c# - 从字符串中删除字符的最快方法

c# - 如何使用 EF 4.1 Code First 在运行时配置数据库连接

c# - Azure KeyVault - 签署 JWT token