Abp添加菜单
2019-02-27 11:54:00来源:博客园 阅读 ()
Abp添加菜单
在abp模板中添加菜单,EntityFramework+Angular.js模板,使用的Abp版本为3.8.1。
创建Abp项目模板,例如名称叫做LawAndRegulation。
服务端添加菜单项
找到Mpa或者Spa项目,也就是LawAndRegulation.WebMpa或者LawAndRegulation.WebSpaAngular。
项目中找到LawAndRegulationNavigationProvider类,在类中找到SetNavigation方法,按照模板中提供的菜单添加方法添加MenuItemDefinition。
MenuItemDefinition即为我们需要添加的菜单项,菜单项包含几个重要的属性:
- 【name】,菜单项名称,在View层添加菜单项时对应的名称;
- 【displayName】,显示名称,本地化显示在名称,也就是多语言需要解释的名称;
- 【url】,导航的路由名称;
- 【icon】,图标名称;
- 【requireAuthentication】,登陆认证及权限认证;
设置好这几项后在服务端导航的内容已经设置完成。
示例代码:
public class LawAndRegulationNavigationProvider : NavigationProvider { public override void SetNavigation(INavigationProviderContext context) { context.Manager.MainMenu .AddItem( new MenuItemDefinition( "DictionaryManager", L("DictionaryManager"), url: "#DictionaryManager", icon: "fa fa-info", requiresAuthentication: true ) ); } private static ILocalizableString L(string name) { return new LocalizableString(name, LawAndRegulationConsts.LocalizationSourceName); } }
客户端添加菜单
在LawAndRegulation.WebSpaAngular项目中找到App/Main/views/layout/sidebar-nav.js文件,在文件中编辑属性menuItems,属性menuItems为数组,在数组中添加对象通过createMenuItem方法,方法中参数:
- 1.本地化标题;
- 2.权限名称;
- 3.图标名称;
- 4.路由名称,也可以是Url链接;
- 5.子项集合,可选参数;
实例代码:
vm.menuItems = [ createMenuItem(App.localize("HomePage"), "", "home", "home"), createMenuItem(App.localize("Tenants"), "Pages.Tenants", "business", "tenants"), createMenuItem(App.localize("Users"), "Pages.Users", "people", "users"), createMenuItem(App.localize("Roles"), "Pages.Roles", "local_offer", "roles"), createMenuItem(App.localize("LawAndRegulation"), "", "info", "LawAndRegulation"), createMenuItem(App.localize("About"), "", "info", "about") ];
其中LawAndRegulation为我们添加的菜单项。
客户端添加路由
在WebSpaAngular项目中找到app.js文件,app.js文件在App/Mian/路径下。
找到app.config,在function方法中找到回调函数中$stateProvider参数,调用参数的state方法。
state方法有两个参数:
- 【navigationName】字符串,导航名称;
- 【route】对象,对象包含三个属性,服务端Url、客户端页面Url以及菜单名称(本地化的名称);
设置完以上,客户端路由已经设置完成。
实例代码如下:
$stateProvider .state('DictionaryManager', { url: '/DictionaryManger', templateUrl: '', menu:'DictionaryManager' });
原文链接:https://www.cnblogs.com/GiserPage/p/10430033.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:K2制作流程
下一篇:【转载】网站域名备案相关流程介绍
- 详解ABP框架中Session功能的使用方法 2020-01-18
- 详解ABP框架中的数据过滤器与数据传输对象的使用 2020-01-18
- asp.net 页面中添加普通视频的几种方式介绍 2019-12-17
- asp.net实现生成静态页并添加链接的方法 2019-12-15
- 解析ABP框架中的日志功能 2019-11-27
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash