//构建树形菜单的action public ActionResult MyFunction() { int userid = int.Parse(Session["userid"].ToString()); var user = (from u in medc.ps_user where u.id == userid select u).FirstOrDefault(); //查询所属角色 var role = (from r in medc.ps_role where r.id == user.roleId select r).FirstOrDefault(); DataSource ds = new DataSource(); ds.usercode = user.userCode; ds.rolename = role.roleName; MyMenus mm = new MyMenus(); TreeData(0, mm); ds.mm = mm; ds.userinfo = user; return(Json(ds, JsonRequestBehavior.AllowGet)); }
public ActionResult GetMenuData() { DataSource ds = new DataSource(); MyMenus mm = new MyMenus(); TreeData(1, mm); ds.mm = mm; //查询角色表数据 var rolelist = (from r in medc.ps_role select r).ToList(); ds.rolelist = rolelist; return(Json(ds)); }
public void TreeData(int?parentid, MyMenus mm) { List <ps_function> list = GetMenusData(parentid); foreach (var v in list) { var fun = (from f in medc.ps_function where f.id == v.parentId select f).FirstOrDefault(); MyMenus mymenus = null; if (fun != null) { mymenus = new MyMenus() { id = v.id, funcode = v.functionCode, funname = v.functionName, funurl = v.funcUrl, parentid = v.parentId, parentname = fun.functionName, isStart = v.isStart }; } else { mymenus = new MyMenus() { id = v.id, funcode = v.functionCode, funname = v.functionName, funurl = v.funcUrl, parentid = v.parentId, parentname = null, isStart = v.isStart }; } mm.MMlist.Add(mymenus); //递归调用 TreeData(v.id, mymenus); } }
/// <summary> /// 绑定选择框 /// </summary> public void Bind() { // 首先绑定目录 var dsMenu = _systemMenuBll.GetList("category = '目录'"); MyMenus.DataSource = dsMenu; MyMenus.DataBind(); // 然后绑定页面 foreach (Control item in MyMenus.Items) { // checkbox容器,用来装载 if (!(item.FindControl("MyCheckBoxList") is CheckBoxList checklist)) { return; } // 隐藏域,当前目录的ID if (!(item.FindControl("hfModuleID") is HiddenField hidId)) { return; } // 查询所有二级页面 var ds = _systemMenuBll.GetList("ParentID=" + Convert.ToInt32(hidId.Value)); _systemMenuModel = _systemMenuBll.GetModel(Convert.ToInt32(hidId.Value)); if (ds.Tables[0].Rows.Count <= 0) { continue; } for (var i = 0; i < ds.Tables[0].Rows.Count; i++) { for (var j = 0; j < 12; j++) { switch (j) { case 0: checklist.Items.Add(new ListItem(_systemMenuModel.FullName + "--" + ds.Tables[0].Rows[i]["FullName"] + "--" + "查看", _systemMenuModel.MenuRole + "||" + ds.Tables[0].Rows[i]["MenuRole"] + "Show||" + ds.Tables[0].Rows[i]["MenuRole"] + "List||" + ds.Tables[0].Rows[i]["MenuRole"])); break; case 1: checklist.Items.Add(new ListItem("添加", ds.Tables[0].Rows[i]["MenuRole"] + "Add")); break; case 2: checklist.Items.Add(new ListItem("修改", ds.Tables[0].Rows[i]["MenuRole"] + "Modify")); break; case 3: checklist.Items.Add(new ListItem("删除", ds.Tables[0].Rows[i]["MenuRole"] + "Del")); break; case 4: checklist.Items.Add(new ListItem("导入", ds.Tables[0].Rows[i]["MenuRole"] + "Import")); break; case 5: checklist.Items.Add(new ListItem("导出", ds.Tables[0].Rows[i]["MenuRole"] + "Export")); break; case 6: checklist.Items.Add(new ListItem("打印", ds.Tables[0].Rows[i]["MenuRole"] + "Print")); break; case 7: checklist.Items.Add(new ListItem("查询", ds.Tables[0].Rows[i]["MenuRole"] + "Search")); break; case 8: checklist.Items.Add(new ListItem("刷新", ds.Tables[0].Rows[i]["MenuRole"] + "Refresh")); break; case 9: checklist.Items.Add(new ListItem("审批", ds.Tables[0].Rows[i]["MenuRole"] + "Accredit")); break; case 10: checklist.Items.Add(new ListItem("查看全部", ds.Tables[0].Rows[i]["MenuRole"] + "AllShow")); break; } } } } }