小编Hap*_*ent的帖子

StateHasChanged 未在 Blazor 服务器应用程序上更新

我正在通过 SignalR 连接与 ASP.NET Core API 开发 Blazor 服务器应用程序,此代码在 WebAssembly 中运行良好,但由于某种原因,它在 Blazor 服务器应用程序中不起作用。

我怀疑问题是StateHasChanged()没有生效,因为 Console.WriteLine($"Company Name: {item.CompanyName}, Volumn: {item.Volume}");在控制台中打印但MarketData没有更新 UI StateHasChanged()

了解更多背景信息;完整代码解释如下:

https://www.webnethelper.com/2022/01/aspnet-core-6-signalr-creating-real.html

但我想这只是一个常见的解决办法;但我找不到解决方案。

我也尝试过InvokeAsync(() => StateHasChanged());stackoverflow 中提到的方法,但没有成功。谁能帮我解决这个问题吗?

private HubConnection? hubConn;
private string? ConnectionStatusMessage;
public List<Market> MarketData = new List<Market>(); 
public List<Market> MarketReceivedData = new List<Market>(); 


private  List<string> xSource;
private  List<int> ySource;
private List<object> source; 

protected override async Task OnInitializedAsync()
{

    xSource = new List<string>();
    ySource = new List<int>();
    source = new …
Run Code Online (Sandbox Code Playgroud)

razor signalr blazor blazor-server-side blazor-webassembly

5
推荐指数
1
解决办法
1197
查看次数