Search code examples
c#asp.net-coreasp.net-core-viewcomponent

I get this error when I use view component


I am new to ASP.NET Core. I get this error when I use view component. Thank you for your help

InvalidOperationException: Method 'Invoke' of view component 'UI.ViewComponents.NavbarViewComponent' cannot return a Task.

This is my code

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

And in view :

@await Component.InvokeAsync("Navbar")

Solution

  • When you are returning a task from the View Component, you should use the InvokeAsync , asynchronous method instead of the sync method. Your Code Should look like this :

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