美文网首页
ABP 增加菜单

ABP 增加菜单

作者: 寻找无名的特质 | 来源:发表于2020-11-24 06:18 被阅读0次

ABP支持模块化开发,每个模块都可能有自己的菜单,这些菜单需要在模块内部进行维护,调用模块的项目只需要通过MenuContributor执行各个模块的菜单加载就可以了。菜单的维护在模块的Web项目中的Menus目录中,这个目录中有两个cs文件,MenuContributor和Menus:


图片.png

Menus中定义菜单的常量,MenuContributor中加载菜单,在函数ConfigureMainMenuAsync中完成菜单加载,示例代码如下:

                context.Menu.Items.Insert(0, new ApplicationMenuItem(WebFlowDesignerMenus.FlowDesigner, l["Menu:FlowDesigner"], "~/FlowDesigner"));
                context.Menu.Items.Insert(0, new ApplicationMenuItem(WebFlowDesignerMenus.MindMap, l["Menu:MindMap"], "~/MindMap"));

如果需要判断权限,可以使用context.IsGrantedAsync,示例代码如下:

      if (await context.IsGrantedAsync(WebFlowDesignerPermissions.Edit))

如果需要获取当前租户或者用户的信息,可以使用context.ServiceProvider.GetRequiredService获取相应的服务,比如下面的代码获取当前的租户:

            var currentTenant = context.ServiceProvider.GetRequiredService(typeof(ICurrentTenant)) as ICurrentTenant;

相关文章

网友评论

      本文标题:ABP 增加菜单

      本文链接:https://www.haomeiwen.com/subject/pifdiktx.html