微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决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.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?