C# ASP.NET Core视图组件名称X与多种类型匹配:

C# ASP.NET Core视图组件名称X与多种类型匹配:,c#,asp.net-core-mvc,C#,Asp.net Core Mvc,目前我有多个领域 我有一个名为 Sidebar 每个区域的结构如下所示 Areas Area 1 Pages Shared Components Sidebar Area 2 Pages Shared Components Sidebar 这是密码

目前我有多个领域

我有一个名为

Sidebar
每个区域的结构如下所示

Areas
    Area 1
        Pages
            Shared
                Components
                    Sidebar
    Area 2
        Pages
            Shared
                Components
                    Sidebar
这是密码

    public class SidebarViewComponent : ViewComponent
    {
        public async Task<IViewComponentResult> InvokeAsync()
        {
            var sidebar = new SidebarViewModel();
    
            sidebar.Items = new List<SidebarItemViewModel>();
    
            var sidebarItem = new SidebarItemViewModel
            {
                Nome = "Producao",
                Icon = "<i class='nav-icon fas fa-calendar-alt'></i>",
                Url = null
            };
    
            var subItems = new List<SidebarItemSubItemViewModel>();
    
            subItems.Add(new SidebarItemSubItemViewModel
            {
                Nome = "Consultar",
                Icon = "<i class='nav-icon fas fa-search'></i>",
                Url = "/FrontEnd/Account/Producao/Index"
            });
    
            subItems.Add(new SidebarItemSubItemViewModel
            {
                Nome = "Adicionar",
                Icon = "<i class='nav-icon fas fa-plus'></i>",
                Url = "/FrontEnd/Account/Producao/Create"
            });
    
            sidebarItem.SubItems = subItems;
    
            sidebar.Items.Add(sidebarItem);
    
            return View(sidebar);
        }
    }


但是它不工作

我设法让它与typeof一起工作

@await Component.InvokeAsync(typeof(Areas.Area1.Pages.Shared.Components.Sidebar.SidebarViewComponent))

希望这对将来的人有所帮助

我设法让它与typeof一起工作

@await Component.InvokeAsync(typeof(Areas.Area1.Pages.Shared.Components.Sidebar.SidebarViewComponent))

希望这能帮助将来的人使用以下代码:

 @await Component.InvokeAsync("ProjectName.Areas.AreaName.Components.ComponentName")

使用以下代码:

 @await Component.InvokeAsync("ProjectName.Areas.AreaName.Components.ComponentName")

如果你有一些区域,你也有一些侧边栏模型。它不知道选择哪一个,因为路由没有告诉要使用哪个区域。如果你有一些区域,你也有一些侧边栏模型。它不知道选择哪一个,因为路由没有告诉要使用哪个区域。欢迎来到SO。请在回答问题时提供一个解释,以便人们能够理解你将要做的事情。欢迎参加。无论何时给出答案,请提供解释,以便人们能够理解您将要做的事情。