ASP BOILERPLATE MVC-菜单顺序

问题描述

如何更改MenuItem的顺序-当前它是按字母顺序排序的,我不希望对其进行排序

 ).AddItem(
                    new MenuItemDeFinition(
                        PageNames.Users,L("Users"),url: "Users",icon: "fas fa-users",permissionDependency: new SimplePermissionDependency(PermissionNames.Users)
                    )
                ).AddItem(
                    new MenuItemDeFinition(
                        PageNames.Roles,L("Roles"),url: "Roles",icon: "fas fa-theater-masks",permissionDependency: new SimplePermissionDependency(PermissionNames.Roles)
                         )
                ).

解决方法

在aspnetboilerplate NavigationProvider中初始化后,您可以按任意属性对项目进行排序,并将排序后的列表添加到菜单中,例如exmaple

var itms = menu.Items.ToList();
        itms = itms.OrderBy(p=>p.BlahBlah).ToList();
        menu.Items.Clear();
        foreach (var t in itms)
        {
            menu.AddItem(t);
        }

,您可以使它对所有级别的菜单都是递归的。