如何采用easyui tree编写简单角色权限代码

首先每个管理员得对应一个角色:

而角色可以操作多个栏目,这种情况下我们可以采用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)){
                    [email protected] =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用习惯了真的很不错,以上代码希望能帮到需要的同学。

时间: 2024-12-25 02:41:42

如何采用easyui tree编写简单角色权限代码的相关文章

Jquery easyui Tree的简单使用

Jquery easyui 是jQuery EasyUI是一组基于jQuery的UI插件集合,而jQuery EasyUI的目标就是帮助web开发者更轻松的打造出功能丰富并且美观的UI界面.开发者不需要编写复杂的javascript,也不需要对css样式有深入的了解,开发者需要了解的只有一些简单的html标签. Jquery easyui 官网:http://jeasyui.com/ ,中文网站:http://www.jeasyui.net/,jquery easyui 下载地址:http://

easyui tree的简单使用

1.帮助文档 所有节点都包含以下属性: id:节点id,这个很重要到加载远程服务器数据 which is important to load remote data text: 显示的节点文本 state: 节点状态, 'open' 或者 'closed', 默认是 'open'. 当设置为 'closed', 节点所有的子节点将从远程服务器站点加载 checked: 指明检查节点是否选中. attributes: 可以添加到节点的自定义属性 children: 一个节点数组,定义一些子节点 一

Asp.Net MVC+BootStrap+EF6.0实现简单的用户角色权限管理10

今天把用户的菜单显示和页面的按钮显示都做好了,下面先来个效果图 接下来说下我实现的方法: 首先我在每个方法前面都加了这个属性, /// <summary> /// 表示当前Action请求为一个具体的功能页面 /// </summary> public class AdminActionMethod : Attribute { /// <summary> /// 页面请求路径 /// </summary> public string ActionUrl {

Asp.Net MVC+BootStrap+EF6.0实现简单的用户角色权限管理

这是本人第一次写,写的不好的地方还忘包含.写这个的主要原因是翔通过这个来学习下EF的CodeFirst模式,本来也想用AngularJs来玩玩的,但是自己只会普通的绑定,对指令这些不是很熟悉,所以就基本不用了.还有最主要的原因就是锻炼下自己的能力.好了其他就不多说了,下面来看下我对这个项目的整体概述吧: 目录: 目录我以后会在这边添加上去的 一.Asp.Net MVC+BootStrap+EF6.0实现简单的用户角色权限管理 基本设计 项目中使用到的工具: Visual Studio 2013,

ASP.NET MVC4.0+EF+LINQ+EasyUI+网站+角色权限管理系统(1)

本系列的的角色权限管理主要采用Dotnet MVC4工程内置的权限管理模块Simplemembership实现,主要有关文件是InitializeSimpleMembershipAttribute.cs和AccountModels.cs 下面是对这两个文件的了解和改造 WebSecurity.InitializeDatabaseConnection("DefaultConnection", "UserProfile", "UserId", &qu

简单的RBAC用户角色权限控制

Java web项目中,无论项目是大是小,或多或少都会涉及到用户访问权限的控制,权限管理总体的设计思路就是,不该看的不看,不该做的不做!据我目前的了解,我所知道的几种实现访问权限控制的方式有: JQuery的zTree设计权限树: 权限框架shiro: 基于角色的访问控制RBAC: 这是我所知道的几种权限管理,如果有误或是还有其他的方法,望指正! 而今天我要说的就是基于角色的访问控制RBAC的权限管理,基于角色的访问控制(Role-Based Access Control),在RBAC中,权限与

Asp.Net MVC+BootStrap+EF6.0实现简单的用户角色权限管理2

首先我们来写个类进行获取当前线程内唯一的DbContext using System; using System.Collections.Generic; using System.Data.Entity; using System.Linq; using System.Runtime.Remoting.Messaging; using System.Text; using System.Threading.Tasks; namespace AuthorDesign.DAL { /// <sum

Asp.Net MVC+BootStrap+EF6.0实现简单的用户角色权限管理9

前两天因有事就没来得及写.今天刚刚好空了.这次写的是对角色和管理员对页面按钮之间的控制.先看页面效果 说明:先根据角色设置好角色的权限,然后管理员在对应的角色下的权限去设置其权限. 在设置角色权限的时候 当某个角色对应某个页面的按钮都是未选中的时候,则设置它的IsShow为0,反之则为1,这样有利于设置管理员的时候方便查询需要设置的页面. 当isshow为0的时候删除管理员表对应的该页面Id的记录. 角色和管理员页面按钮显示这块到这里就结束了. 百度网盘源码下载地址

最简单的角色权限数据库表设计

---角色权限(用户-角色) CREATE TABLE TD_ROLE_STAFF( ID VARCHAR2(64), STAFF_ID VARCHAR2(32),--'coast' ROLE_ID VARCHAR2(32), --'R002' ROLE_NAME VARCHAR2(32),--'数据管理部管理员' -- ROLE_TYPE VARCHAR2(5),---ROLE/USR role VALID_FLAG VARCHAR2(2), OPTDATE DATE, RMK VARCHAR