Просмотреть компонент:
public class WidgetViewComponent : ViewComponent
{
private readonly IWidgetService _WidgetService;
private WidgetViewComponent(IWidgetService widgetService)
{
_WidgetService = widgetService;
}
public async Task<IViewComponentResult> InvokeAsync(int widgetId)
{
var widget = await _WidgetService.GetWidgetById(widgetId);
return View(widget);
}
}
В представлении ~/Views/Employees/Details.cshtml
@await Component.InvokeAsync("Widget", new { WidgetId = Model.WidgetId } )
Компонент представления находится в ~ Views/Shared/Components/Widget/Default.cshtml
Ошибка, которую я получаю, ниже:
InvalidOperationException: подходящего конструктора для типа "MyApp.ViewComponents.WidgetViewComponent" не удалось найти. Убедитесь, что тип является конкретным, а службы зарегистрированы для всех параметров публичного конструктора.