
//显示 所有权限 并勾上该角色的权限
public partial class Default3 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.DropDownList1.DataSource = SQLHelper.SelectData("select * from [Role]");
this.DropDownList1.DataTextField = "R_Name";
this.DropDownList1.DataValueField = "R_ID";
this.DropDownList1.DataBind();
ydt = SQLHelper.SelectData("select M_ID from RoleMenuCenter where R_ID="+int.Parse(this.DropDownList1.SelectedValue.ToString()));
dt = SQLHelper.SelectData("select * from Menu");
inittreeview();
}
}
DataTable dt = null;
DataTable ydt = null;
public void inittreeview()
{
this.TreeView1.Nodes.Clear();
DataRow[] drs = dt.Select("M_Parent=0");
foreach (DataRow dr in drs)
{
TreeNode tn = new TreeNode();
tn.Text = dr["M_Name"].ToString();
tn.Value = dr["M_ID"].ToString();
foreach (DataRow ydr in ydt.Rows)
{
if (ydr["M_ID"].ToString().Trim() == dr["M_ID"].ToString().Trim())
{
tn.Checked = true;
break;
}
}
inittreeleaf(tn);
this.TreeView1.Nodes.Add(tn);
}
}
public void inittreeleaf(TreeNode tn)
{
DataRow[] drs = dt.Select("M_Parent="+tn.Value);
foreach (DataRow dr in drs)
{
TreeNode ctn = new TreeNode();
ctn.Text = dr["M_Name"].ToString();
ctn.Value = dr["M_ID"].ToString();
foreach (DataRow ydr in ydt.Rows)
{
if (ydr["M_ID"].ToString().Trim() == dr["M_ID"].ToString().Trim())
{
ctn.Checked = true;
break;
}
}
tn.ChildNodes.Add(ctn);
}
}
protected void Button1_Click(object sender, EventArgs e)
{
int roleid = int.Parse(this.DropDownList1.SelectedValue.ToString());
SQLHelper.UpdateData("delete from RoleMenuCenter where R_ID="+roleid);
foreach (TreeNode tn in this.TreeView1.Nodes)
{
if (tn.Checked)
{
int mid = int.Parse(tn.Value);
SQLHelper.UpdateData("insert into RoleMenuCenter values("+roleid+","+mid+",0,0,0,0)");
foreach (TreeNode ctn in tn.ChildNodes)
{
if (ctn.Checked)
{
int cmid = int.Parse(ctn.Value);
SQLHelper.UpdateData("insert into RoleMenuCenter values(" + roleid + "," + cmid + ",0,0,0,0)");
}
}
}
}
}
//角色改变 相应的权限也改变
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
ydt = SQLHelper.SelectData("select M_ID from RoleMenuCenter where R_ID=" + int.Parse(this.DropDownList1.SelectedValue.ToString()));
dt = SQLHelper.SelectData("select * from Menu");
inittreeview();
this.TreeView1.ExpandAll();
}
}
// JScript 文件
function public_GetParentByTagName(element, tagName)
{
var parent = element.parentNode;
var upperTagName = tagName.toUpperCase();
//如果这个元素还不是想要的tag就继续上溯
while (parent && (parent.tagName.toUpperCase() != upperTagName))
{
parent = parent.parentNode ? parent.parentNode : parent.parentElement;
}
return parent;
}
//设置节点的父节点Cheched——该节点可访问,则他的父节点也必能访问
function setParentChecked(objNode)
{
var objParentDiv = public_GetParentByTagName(objNode,"div");
if(objParentDiv==null || objParentDiv == "undefined")
{
return;
}
var objID = objParentDiv.getAttribute("ID");
objID = objID.substring(0,objID.indexOf("Nodes"));
objID = objID+"CheckBox";
var objParentCheckBox = document.getElementById(objID);
if(objParentCheckBox==null || objParentCheckBox == "undefined")
{
return;
}
if(objParentCheckBox.tagName!="INPUT" && objParentCheckBox.type == "checkbox")
return;
objParentCheckBox.checked = true;
setParentChecked(objParentCheckBox);
}
//设置节点的子节点uncheched——该节点不可访问,则他的子节点也不能访问
function setChildUnChecked(divID)
{
var objchild = divID.children;
var count = objchild.length;
for(var i=0;i<objchild.length;i++)
{
var tempObj = objchild[i];
if(tempObj.tagName=="INPUT" && tempObj.type == "checkbox")
{
tempObj.checked = false;
}
setChildUnChecked(tempObj);
}
}
//设置节点的子节点cheched——该节点可以访问,则他的子节点也都能访问
function setChildChecked(divID)
{
var objchild = divID.children;
var count = objchild.length;
for(var i=0;i<objchild.length;i++)
{
var tempObj = objchild[i];
if(tempObj.tagName=="INPUT" && tempObj.type == "checkbox")
{
tempObj.checked = true;
}
setChildChecked(tempObj);
}
}
//触发事件
function CheckEvent()
{
var objNode = event.srcElement;
if(objNode.tagName!="INPUT" || objNode.type!="checkbox")
return;
if(objNode.checked==true)
{
setParentChecked(objNode);
var objID = objNode.getAttribute("ID");
var objID = objID.substring(0,objID.indexOf("CheckBox"));
var objParentDiv = document.getElementById(objID+"Nodes");
if(objParentDiv==null || objParentDiv == "undefined")
{
return;
}
setChildChecked(objParentDiv);
}
else
{
var objID = objNode.getAttribute("ID");
var objID = objID.substring(0,objID.indexOf("CheckBox"));
var objParentDiv = document.getElementById(objID+"Nodes");
if(objParentDiv==null || objParentDiv == "undefined")
{
return;
}
setChildUnChecked(objParentDiv);
}
}
//修改权限
protected void Button1_Click(object sender, EventArgs e)
{
int roleid = int.Parse(this.DropDownList1.SelectedValue.ToString());
SQLHelper.UpdateData("delete from RoleMenuCenter where R_ID="+roleid);
foreach (TreeNode tn in this.TreeView1.Nodes)
{
if (tn.Checked)
{
int mid = int.Parse(tn.Value);
SQLHelper.UpdateData("insert into RoleMenuCenter values("+roleid+","+mid+",0,0,0,0)");
foreach (TreeNode ctn in tn.ChildNodes)
{
if (ctn.Checked)
{
int cmid = int.Parse(ctn.Value);
SQLHelper.UpdateData("insert into RoleMenuCenter values(" + roleid + "," + cmid + ",0,0,0,0)");
}
}
}
}
}
public partial class Default3 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.DropDownList1.DataSource = SQLHelper.SelectData("select * from [Role]");
this.DropDownList1.DataTextField = "R_Name";
this.DropDownList1.DataValueField = "R_ID";
this.DropDownList1.DataBind();
ydt = SQLHelper.SelectData("select M_ID from RoleMenuCenter where R_ID="+int.Parse(this.DropDownList1.SelectedValue.ToString()));
dt = SQLHelper.SelectData("select * from Menu");
inittreeview();
}
}
DataTable dt = null;
DataTable ydt = null;
public void inittreeview()
{
this.TreeView1.Nodes.Clear();
DataRow[] drs = dt.Select("M_Parent=0");
foreach (DataRow dr in drs)
{
TreeNode tn = new TreeNode();
tn.Text = dr["M_Name"].ToString();
tn.Value = dr["M_ID"].ToString();
foreach (DataRow ydr in ydt.Rows)
{
if (ydr["M_ID"].ToString().Trim() == dr["M_ID"].ToString().Trim())
{
tn.Checked = true;
break;
}
}
inittreeleaf(tn);
this.TreeView1.Nodes.Add(tn);
}
}
public void inittreeleaf(TreeNode tn)
{
DataRow[] drs = dt.Select("M_Parent="+tn.Value);
foreach (DataRow dr in drs)
{
TreeNode ctn = new TreeNode();
ctn.Text = dr["M_Name"].ToString();
ctn.Value = dr["M_ID"].ToString();
foreach (DataRow ydr in ydt.Rows)
{
if (ydr["M_ID"].ToString().Trim() == dr["M_ID"].ToString().Trim())
{
ctn.Checked = true;
break;
}
}
tn.ChildNodes.Add(ctn);
}
}
protected void Button1_Click(object sender, EventArgs e)
{
int roleid = int.Parse(this.DropDownList1.SelectedValue.ToString());
SQLHelper.UpdateData("delete from RoleMenuCenter where R_ID="+roleid);
foreach (TreeNode tn in this.TreeView1.Nodes)
{
if (tn.Checked)
{
int mid = int.Parse(tn.Value);
SQLHelper.UpdateData("insert into RoleMenuCenter values("+roleid+","+mid+",0,0,0,0)");
foreach (TreeNode ctn in tn.ChildNodes)
{
if (ctn.Checked)
{
int cmid = int.Parse(ctn.Value);
SQLHelper.UpdateData("insert into RoleMenuCenter values(" + roleid + "," + cmid + ",0,0,0,0)");
}
}
}
}
}
//角色改变 相应的权限也改变
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
ydt = SQLHelper.SelectData("select M_ID from RoleMenuCenter where R_ID=" + int.Parse(this.DropDownList1.SelectedValue.ToString()));
dt = SQLHelper.SelectData("select * from Menu");
inittreeview();
this.TreeView1.ExpandAll();
}
}
// JScript 文件
function public_GetParentByTagName(element, tagName)
{
var parent = element.parentNode;
var upperTagName = tagName.toUpperCase();
//如果这个元素还不是想要的tag就继续上溯
while (parent && (parent.tagName.toUpperCase() != upperTagName))
{
parent = parent.parentNode ? parent.parentNode : parent.parentElement;
}
return parent;
}
//设置节点的父节点Cheched——该节点可访问,则他的父节点也必能访问
function setParentChecked(objNode)
{
var objParentDiv = public_GetParentByTagName(objNode,"div");
if(objParentDiv==null || objParentDiv == "undefined")
{
return;
}
var objID = objParentDiv.getAttribute("ID");
objID = objID.substring(0,objID.indexOf("Nodes"));
objID = objID+"CheckBox";
var objParentCheckBox = document.getElementById(objID);
if(objParentCheckBox==null || objParentCheckBox == "undefined")
{
return;
}
if(objParentCheckBox.tagName!="INPUT" && objParentCheckBox.type == "checkbox")
return;
objParentCheckBox.checked = true;
setParentChecked(objParentCheckBox);
}
//设置节点的子节点uncheched——该节点不可访问,则他的子节点也不能访问
function setChildUnChecked(divID)
{
var objchild = divID.children;
var count = objchild.length;
for(var i=0;i<objchild.length;i++)
{
var tempObj = objchild[i];
if(tempObj.tagName=="INPUT" && tempObj.type == "checkbox")
{
tempObj.checked = false;
}
setChildUnChecked(tempObj);
}
}
//设置节点的子节点cheched——该节点可以访问,则他的子节点也都能访问
function setChildChecked(divID)
{
var objchild = divID.children;
var count = objchild.length;
for(var i=0;i<objchild.length;i++)
{
var tempObj = objchild[i];
if(tempObj.tagName=="INPUT" && tempObj.type == "checkbox")
{
tempObj.checked = true;
}
setChildChecked(tempObj);
}
}
//触发事件
function CheckEvent()
{
var objNode = event.srcElement;
if(objNode.tagName!="INPUT" || objNode.type!="checkbox")
return;
if(objNode.checked==true)
{
setParentChecked(objNode);
var objID = objNode.getAttribute("ID");
var objID = objID.substring(0,objID.indexOf("CheckBox"));
var objParentDiv = document.getElementById(objID+"Nodes");
if(objParentDiv==null || objParentDiv == "undefined")
{
return;
}
setChildChecked(objParentDiv);
}
else
{
var objID = objNode.getAttribute("ID");
var objID = objID.substring(0,objID.indexOf("CheckBox"));
var objParentDiv = document.getElementById(objID+"Nodes");
if(objParentDiv==null || objParentDiv == "undefined")
{
return;
}
setChildUnChecked(objParentDiv);
}
}
//修改权限
protected void Button1_Click(object sender, EventArgs e)
{
int roleid = int.Parse(this.DropDownList1.SelectedValue.ToString());
SQLHelper.UpdateData("delete from RoleMenuCenter where R_ID="+roleid);
foreach (TreeNode tn in this.TreeView1.Nodes)
{
if (tn.Checked)
{
int mid = int.Parse(tn.Value);
SQLHelper.UpdateData("insert into RoleMenuCenter values("+roleid+","+mid+",0,0,0,0)");
foreach (TreeNode ctn in tn.ChildNodes)
{
if (ctn.Checked)
{
int cmid = int.Parse(ctn.Value);
SQLHelper.UpdateData("insert into RoleMenuCenter values(" + roleid + "," + cmid + ",0,0,0,0)");
}
}
}
}
}
努力 努力在努力一点
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】