时间:2021-05-19
首先每个管理员得对应一个角色,而角色可以操作多个栏目,这种情况下我们可以采用tree多选的方式:
在页面上js代码:
$('#Permission').dialog({ title: '栏目权限', closed: false });$('#rtt').tree({ url: 'ashx/RoleService.ashx?action=RoleTree&Rid=' + raw.ID, method: 'get', animate: true, checkbox: true});$('#Rid').val(raw.ID);用了一个dialog弹出进行实现ashx中传入一个角色编号
C#代码为:
case "RoleTree": string Rid = context.Request.Params["Rid"]; int Roleid = Convert.ToInt32(Rid); List<tree> treelist = getChildren("Angel_Admin_Navigation", "0", Roleid); Newtonsoft.Json.Converters.IsoDateTimeConverter timeConverter = new Newtonsoft.Json.Converters.IsoDateTimeConverter(); timeConverter.DateTimeFormat = "yyyy'-'MM'-'dd"; string ResJsonStr = JsonConvert.SerializeObject(treelist, Formatting.Indented, timeConverter); context.Response.ContentType = "text/plain"; context.Response.Clear(); context.Response.Write(ResJsonStr);case哪里是一个action操作参数 这个就不用我说了吧!
现在我们来看看输出tree数据怎么写:
//Tree递归调用public List<tree> getChildren(string tableName, string fid, int RoleId){ DBHelperSql Dbhelper = new DBHelperSql(); List<tree> list = new List<tree>(); DataTable dt = Dbhelper.GetDataTable(tableName, " ParentId='" + fid + "' "); if (dt.Rows.Count > 0) { for (int i = 0; i < dt.Rows.Count; i++) { tree tree = new tree(); tree.id = dt.Rows[i]["NavName"].ToString(); tree.text = dt.Rows[i]["TitleName"].ToString(); if(OperateBll.IsRoleoperateDataExist(dt.Rows[i]["NavName"].ToString(),RoleId)){ tree.@checked =true; } tree.children = getChildren(tableName, dt.Rows[i]["id"].ToString(),RoleId); list.Add(tree); } } else list = null; return list;}//tree属性public class tree{ public string id { get; set; } public string text { get; set; } public bool @checked { get; set; } public List<tree> children { get; set; }}一个递归的方法就实现了 看着是不是很简单。上面输出json的部分调用这个方法即可
最终显示页面如图:
有时候easyui用习惯了真的很不错,以上代码希望能帮到需要的同学。
以上就是本文的全部内容,希望大家可以喜欢。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
基于角色的权限管理一般有5张表构成,如下图,这里我们要实现对角色role进行授权操作,简单来说就是要对rolemenu进行添加操作,这里前端主要用easyui-
一、EasyUI使用标记创建树形菜单一个树形菜单(Tree)可以从标记创建。easyui树形菜单(Tree)也可以定义在元素中。无序列表的元素提供一个基础的树(
EasyUI1.4.4tree控件中,如果是叶子节点,切忌把state设置为closed,否则该节点会加载整个tree,形成死循环例如:json入下:[{"ch
1.基于rbac的权限管理RBAC(Role-BasedAccessControl,基于角色的访问控制),就是用户通过角色与权限进行关联。简单地说,一个用户拥有
编写一个最简单的例子1.建好如下文件夹注意:lib目录下必须有个和你gem名字一样的rb文件。复制代码代码如下:$cdhola$tree.├──hola.gem