首页 > 解决方案 > Blazor 服务器应用程序的 Razor 页面中的异步 Lamblda 表达式

问题描述

我在 blazor 服务器应用程序的 razor 页面中有一个异步方法。

我想要实现的目标如下,但当然 await 需要异步。我怎样才能await在这里异步方法?

@{
    var result = await Test(local);    
    <div>
        @result
    </div>
}

这不起作用。它说“无法将 lambda 表达式转换为类型‘对象’,因为它不是委托类型”。

<div class="line">
    @(async (local) => { await Test(local); })
</div>

标签: c#razorasync-awaitblazor-server-side

解决方案


最好使用组件生命周期事件。你可以做类似的事情

<div class="line">
    @result
</div>

@code{
    private string result;

    protected async override Task OnInitializedAsync()
    {
        result = await Test(local);
    }
}

在此处查看 Blazor 文档


推荐阅读