当我使用视图组件时出现此错误

jac*_*ack 3 c# asp.net-core asp.net-core-viewcomponent

我是 ASP.NET Core 新手。当我使用视图组件时出现此错误。感谢您的帮助

InvalidOperationException:视图组件“UI.ViewComponents.NavbarViewComponent”的方法“Invoke”无法返回任务。

这是我的代码

public async Task<IViewComponentResult> Invoke()
{
    var settings = await _db.Settings.ToListAsync();
    return View(settings);
}
Run Code Online (Sandbox Code Playgroud)

并认为:

@await Component.InvokeAsync("Navbar")
Run Code Online (Sandbox Code Playgroud)

Moh*_*deh 6

当您从视图组件返回任务时,您应该使用 InvokeAsync 异步方法而不是同步方法。你的代码应该是这样的:

public async Task<IViewComponentResult> InvokeAsync()
{
  var settings = await _db.Settings.ToListAsync();
  return View(settings);
}
Run Code Online (Sandbox Code Playgroud)