小编gal*_*len的帖子

使用 JSInterop 将对象传递给 JavaScript 会产生空对象

在 ASP.Net Core 中,我尝试从 C# 代码构建 Google 地图的基本绑定。使用 JSInterop,我可以成功地将字符串传递给 JavaScript 函数,但是当我尝试传递更复杂的对象时,该对象在 JavaScript 函数中显示为空。

我部分遵循了本教程,并将其修改为使用 Google 地图而不是 Bing 地图。

正如在教程中一样,我找到了Google 地图的TypeScript 定义来帮助对绑定进行编码。

我有以下 razor 文件,当用户单击按钮时应加载地图:

@page "/sitemapper"
@inherits SiteMapperBase

<h3>Map</h3>

<div id="map" style="position: relative; width: 100%; height: 70vh;"></div>

<button class="btn btn-primary" @onclick="@OpenMap">Click me</button>

@code {
void OpenMap()
{
    LoadMap();
}
}
Run Code Online (Sandbox Code Playgroud)

对应的.razor.cs文件有如下LoadMap方法:

        protected async Task LoadMap()
        {
            LatLng center = new LatLng(40.417268, -3.696050);
            MapOptions options = new MapOptions("map", center, 8);
            await JSRuntime.InvokeAsync<Task>("loadMap", options); …
Run Code Online (Sandbox Code Playgroud)

javascript c# typescript asp.net-core blazor

4
推荐指数
1
解决办法
3537
查看次数

标签 统计

asp.net-core ×1

blazor ×1

c# ×1

javascript ×1

typescript ×1