Asp net样板核心应用程序MPA中的Area Side Bars菜单

问题描述

我正在查看为asp.net核心多页应用程序生成的样板代码,基本上是Layout调用Partial view SideBar.cshtml,它使SideBarMenuViewComponant呈现为以下代码流。

public class SideBarMenuViewComponent : ArchiroxViewComponent
{
    private readonly IUserNavigationManager _userNavigationManager;
    private readonly IAbpSession _abpSession;

    public SideBarMenuViewComponent(
        IUserNavigationManager userNavigationManager,IAbpSession abpSession)
    {
        _userNavigationManager = userNavigationManager;
        _abpSession = abpSession;
    }

    public async Task<IViewComponentResult> InvokeAsync()
    {
        var model = new SideBarMenuviewmodel
        {
            MainMenu = await _userNavigationManager.GetMenuAsync("MainMenu",_abpSession.ToUserIdentifier())
        };

        return View(model);
    }
}

菜单在启动NavigationProvider类时定义

 public class ArchiroxNavigationProvider : NavigationProvider
{
    public override void SetNavigation(INavigationProviderContext context)
    {
        context.Manager.MainMenu
            .AddItem(
                new MenuItemDeFinition(
                    PageNames.Home,L("HomePage"),url: "",icon: "fas fa-home",requiresAuthentication: true
                )
            ).AddItem(
                new MenuItemDeFinition(
                    PageNames.Tenants,L("Tenants"),url: "Tenants",icon: "fas fa-building",permissionDependency: new SimplePermissionDependency(PermissionNames.Pages_Tenants)
                )
            ).AddItem(
                new MenuItemDeFinition(
                    PageNames.Users,L("Users"),url: "Users",icon: "fas fa-users",permissionDependency: new SimplePermissionDependency(PermissionNames.Pages_Users)
                )
            ).AddItem(
                new MenuItemDeFinition(
                    PageNames.Roles,L("Roles"),url: "Roles",icon: "fas fa-theater-masks",permissionDependency: new SimplePermissionDependency(PermissionNames.Pages_Roles)
                        )
            )
            .AddItem(
                new MenuItemDeFinition(
                    PageNames.About,L("About"),url: "About",icon: "fas fa-info-circle"
                )
            ).AddItem( // Menu items below is just for demonstration!
                new MenuItemDeFinition(
                    "MultiLevelMenu",L("MultiLevelMenu"),icon: "fas fa-circle"
                )
                   
            );

    }
}

现在,如果我有一个以上的区域,则每个区域都有自己的侧边栏菜单,例如: 区域1: 控制器 楷模 观看次数 ==布局 == SideMenuForAreaOne

区域2: 控制器 楷模 观看次数 ==布局 == SideMenuForAreaTwo

我如何定义这些侧边栏菜单,并分别在每个相关区域的视图中显示它们,在ABP中,所有内容似乎都仅引用MainMenu。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...