在上一篇博文 Rookey.Frame企业级快速开发框架开源了 中我们介绍了Rookey.Frame极速开发框架的最新更新及开源介绍,后面慢慢介绍该框架的使用方法,本人文笔不好,写得不够好的地方请大家见谅。

今天主要给大家介绍菜单功能的使用,一般功能模块开发完成,首先要做的第一步就是配置菜单,在Rookey.Frame框架中菜单配置支持自定义配置和通用配置。

在介绍之前先说明下,之前有园友担心Rookey.Frame开源框架会随着人用的人多会慢慢开始收费或者是卖源码,我在这里告诉大家,Rookey.Frame开源框架任何时候都不会收费或者卖源码或卖半成品,一定会将其开源到底,至于更新我会按自己的时间来安排,毕竟我自己也是有工作要做的,如果更新的慢也请大家理解。

好了,废话完了我们来正式介绍菜单的功能

先看下面的截图:

通用菜单配置

上图中菜单名称,显示名称就不说了,有的可能觉得有个菜单名称就够了,为啥还要个显示名称,菜单名称是TitleKey字段,本框架中大部分模块都有个TitleKey字段,该字段在模块中是唯一的不允许重复的,但很多时候系统的菜单在界面显示的时候可能在中间发生改变,老板觉得叫另外的名字比较好,这时开发人员必须就得改,如果没有菜单显示字段,遇到重复的菜单名称就麻烦了,所以才有了显示菜单这个字段,这个字段可以随便取,允许重复。

针对通用菜单菜单URL均为空,必须要选定模块

自定义菜单配置:

自定义模块,则相反, URL自定义,模块不需要选

我们看下/Scripts/common/Main.js中如下代码:

//单击菜单
function TreeNodeOnClick(node, dom) {
var title = node.text;
if (!node.children) { //子菜单
if (!node.attribute) return;
var url = node.attribute.url;
if (url) { //自定义url菜单
if (url.indexOf("?") > -1)
url += "&";
else
url += "?"
url += 'mId=' + node.id;
if (node.attribute.obj && node.attribute.obj.isNewWinOpen) { //新窗口中打开
window.open(url);
}
else { //在框架的标签页中打开
AddTab(null, title, url);
}
}
else { //通用模块菜单
var moduleId = node.attribute.obj.moduleId;
var moduleName = node.attribute.obj.moduleName;
if (node.attribute.obj && (moduleId || moduleName)) {
var gridUrl = "/Page/Grid.html?page=grid";
if (moduleId) {
gridUrl += "&moduleId=" + moduleId;
}
else if (moduleName) {
gridUrl += "&moduleName=" + moduleName;
}
gridUrl += "&r=" + Math.random();
AddTab(null, title, gridUrl);
}
}
}
else { //文件夹菜单
$(dom).tree('toggle', node.target);
}
}

通用上面代码我们可以看出菜单没有自定义URL时系统会自动转向 /Page/Grid.html

另外针对文件夹菜单需要注意的是叶子节点不能勾选,模块不选,URL为空,如果是顶级菜单,则上级菜单置空。

文件夹菜单:

顶级菜单:

好了今天菜单的功能就先介绍到此地,祝大家生活愉快!

 

Rookey.Frame之菜单设置的更多相关文章

  1. Rookey.Frame之数据库及缓存配置

    上一篇中讨论了Rookey.Frame框架菜单配置功能,这一节我们继续学习Rookey.Frame框架的数据库连接配置. 之前介绍了Rookey.Frame框架支持跨多数据库,并且支持读写分离,不过目 ...

  2. Rookey.Frame企业级极速开发框架

    项目详细介绍 Rookey.Frame是一套基于.NET MVC + easyui的企业级极速开发框架,支持简单逻辑模块零代码编程.支持工作流(BPM).支持二次开发,具有高扩展性.高复用性.高伸缩性 ...

  3. Rookey.Frame v1.0快速开发平台-整体介绍

    Rookey.Frame v1.0是一套基于.NET MVC的极速开发框架,支持简单逻辑模块零代码编程.支持二次开发,具有高扩展性.高复用性.高伸缩性. 框架特点 (1)简单逻辑模块实现零代码编程,通 ...

  4. Rookey.Frame企业级快速开发框架开源了

    Rookey.Frame是一套基于.NET MVC + easyui的企业级极速开发框架,支持简单逻辑模块零代码编程.支持工作流(BPM).支持二次开发,具有高扩展性.高复用性.高伸缩性:应广大网友要 ...

  5. Rookey.Frame之实体表单验证

    昨天给大家介绍了实体FluentValidation验证,今天继续给大家介绍表单验证,在Rookey.Frame框架中,表单验证有PrimaryKeyFields字段验证.唯一验证.必填验证.常用验证 ...

  6. Rookey.Frame之实体FluentValidation验证

    昨天给大家介绍了Rookey.Frame框架的实体设计,今天继续跟大家分享实体的FluentValidation验证,在Rookey.Frame框架中可以设置多种验证方式:FluentValidati ...

  7. Rookey.Frame之实体类

    上周跟大家分享了Rookey.Frame框架的初始化功能,今天继续给大家介绍实体类的设计. 先看下下面菜单实体示例代码: using Rookey.Frame.EntityBase; using Ro ...

  8. Rookey.Frame之系统初始化

    昨天介绍了数据库的配置,今天继续介绍系统的初始化功能:针对系统初始化在开发中也是很重要的一部分,它可以提前将相关数据提前自动初始化到系统中,同时也可以为上线测试提供方便,可以很方便进行系统测试演练,防 ...

  9. 用c#开发微信(5)自定义菜单设置工具 (在线创建)

    读目录 1 使用 2 原理 3. 错误 上次写了<用c#开发微信 (4) 基于Senparc.Weixin框架的接收事件推送处理 (源码下载)>,有园友问到如何创建菜单的问题,今天就介绍下 ...

随机推荐

  1. 数据分析与展示---Numpy数据存取与函数

    简介 一:数据的CSV文件存取(一维或二维) (一)写入文件savetxt (二)读取文件loadtxt 二:多维数据的存取 (一)保存文件tofile (二)读取文件fromfile (三)NumP ...

  2. 支持iis高并发

    支持高并发的IIS Web服务器常用设置   适用的IIS版本:IIS 7.0, IIS 7.5, IIS 8.0 适用的Windows版本:Windows Server 2008, Windows ...

  3. DFS——>记忆化搜索——>动态规划

    以洛谷P1802  5倍经验日 为例 https://www.luogu.org/problem/show?pid=1802 题目背景 现在乐斗有活动了!每打一个人可以获得5倍经验!absi2011却 ...

  4. 张鑫旭:Promise异步编程模式

    参考文章: http://www.zhangxinxu.com/wordpress/2014/02/es6-javascript-promise-%E6%84%9F%E6%80%A7%E8%AE%A4 ...

  5. vue 2.0使用笔记

    assets被排除在热重载监听目录之外,一些公共样式文件最好不要放在这个目录 webpack默认没有装less-loader,要.vue文件中使用less,需要npm install less les ...

  6. elasticsearch-head插件安装说明

    下载及安装readme https://github.com/mobz/elasticsearch-head 安装: npm install npm run start 访问:http://local ...

  7. Linux/Unix 下自制番茄钟

    习惯使用番茄工作法,在Linux上工作时也需要一个番茄钟. 安装一个Linux下番茄钟工作软件? 其实根本没必要,我们可以用Linux下经典的at命令实现一个简单的番茄钟. 安装AT 一般Linux基 ...

  8. 让PHPCms内容页支持JavaScript的修改方法

    在文件..\caches\caches_model\caches_data\content_input.class.php中找到函数: function get($data,$isimport = 0 ...

  9. promise顺序执行,返回结果存放在数组

    遇到面试的一个编程题:三个返回promise对象的异步操作,让你写一个函数可以将这些操作顺序执行,并返回一个数组包含三个异步对象的结果 异步对象: // 异步函数a var a = function ...

  10. MySQL练习-主外键多表查询

    练习: 1.建立表关系: 请创建如下表,并创建相关约束 USE db1; CREATE TABLE class( cid INT AUTO_INCREMENT PRIMARY KEY, caption ...