首页 > 编程 > C# > 正文

采用easyui tree编写简单角色权限代码的方法

2019-10-29 21:39:55
字体:
来源:转载
供稿:网友

本文主要介绍了如何采用easyui tree编写简单角色权限代码,文章思路清晰,需要的朋友可以参考下

首先每个管理员得对应一个角色,而角色可以操作多个栏目,这种情况下我们可以采用tree多选的方式:

在页面上js代码:

 

 
  1. $('#Permission').dialog({ title: '栏目权限', closed: false }); 
  2. $('#rtt').tree({ 
  3. url: 'ashx/RoleService.ashx?action=RoleTree&Rid=' + raw.ID, 
  4. method: 'get'
  5. animate: true
  6. checkbox: true 
  7. }); 
  8. $('#Rid').val(raw.ID); 

用了一个dialog弹出进行实现ashx中传入一个角色编号

C#代码为:

 

 
  1. case "RoleTree"
  2. string Rid = context.Request.Params["Rid"]; 
  3. int Roleid = Convert.ToInt32(Rid); 
  4. List<tree> treelist = getChildren("Angel_Admin_Navigation""0", Roleid); 
  5. Newtonsoft.Json.Converters.IsoDateTimeConverter timeConverter = new Newtonsoft.Json.Converters.IsoDateTimeConverter(); 
  6. timeConverter.DateTimeFormat = "yyyy'-'MM'-'dd"
  7. string ResJsonStr = JsonConvert.SerializeObject(treelist, Formatting.Indented, timeConverter); 
  8. context.Response.ContentType = "text/plain"
  9. context.Response.Clear(); 
  10. context.Response.Write(ResJsonStr); 

case哪里是一个action操作参数 这个就不用我说了吧!

现在我们来看看输出tree数据怎么写:

 

 
  1. //Tree递归调用 
  2. public List<tree> getChildren(string tableName, string fid, int RoleId) 
  3. DBHelperSql Dbhelper = new DBHelperSql(); 
  4. List<tree> list = new List<tree>(); 
  5. DataTable dt = Dbhelper.GetDataTable(tableName, " ParentId='" + fid + "' "); 
  6. if (dt.Rows.Count > 0) 
  7. for (int i = 0; i < dt.Rows.Count; i++) 
  8. tree tree = new tree(); 
  9. tree.id = dt.Rows[i]["NavName"].ToString(); 
  10. tree.text = dt.Rows[i]["TitleName"].ToString(); 
  11. if(OperateBll.IsRoleoperateDataExist(dt.Rows[i]["NavName"].ToString(),RoleId)){ 
  12. tree.@checked =true
  13. tree.children = getChildren(tableName, dt.Rows[i]["id"].ToString(),RoleId); 
  14. list.Add(tree); 
  15. else 
  16. list = null
  17.  
  18. return list; 
  19. //tree属性 
  20. public class tree 
  21. public string id { get; set; } 
  22. public string text { get; set; } 
  23. public bool @checked { get; set; } 
  24. public List<tree> children { get; set; } 

一个递归的方法就实现了 看着是不是很简单。上面输出json的部分调用这个方法即可

最终显示页面如图:

采用easyui tree编写简单角色权限代码的方法

有时候easyui用习惯了真的很不错,以上代码希望能帮到需要的同学。

以上就是本文的全部内容,希望大家可以喜欢。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表