110,530
社区成员
发帖
与我相关
我的任务
分享
/// <summary>
/// 菜单加载
/// </summary>
public void BindTree(string strAdminName, string strRoleName)
{
DataTable dtParent = tools.ConvertDataReaderToDataTable(bmdb.getParentMenu()); //父菜单表
DataTable dtRolePower = null;
if (strRoleName == "")
{//如果角色名为空,则以用户名查询角色权限
dtRolePower = tools.ConvertDataReaderToDataTable(bmdb.getPowerMenu(strAdminName, ""));//根据登录用户获取其所属角色拥有权限表
}
else
{
dtRolePower = tools.ConvertDataReaderToDataTable(bmdb.getPowerMenu("", strRoleName));//根据登录用户获取其所属角色拥有权限表
}
TreeView tvMenu = (TreeView)this.FindControl("tvMenu");
TreeNode PNode = null;
TreeNode CNode = null;
foreach (DataRow dr in dtParent.Rows)
{
PNode = new TreeNode();
PNode.Text = dr["MODULE_NAME"].ToString(); //父菜单名称
PNode.Value = dr["MODULEID"].ToString(); //父菜单值
PNode.SelectAction = TreeNodeSelectAction.Expand; //点击树展开属性
PNode.ExpandAll();
this.tvMenu.Nodes.Add(PNode);
//PNode.NavigateUrl = "javascript:return false;";
DataTable dtChild = tools.ConvertDataReaderToDataTable(bmdb.getChildMenu(Convert.ToInt32(PNode.Value)));
for (int i = 0; i < dtChild.Rows.Count; i++)
{
CNode = new TreeNode(); //必须声明
CNode.Text = dtChild.Rows[i]["MODULE_NAME"].ToString();
CNode.Value = dtChild.Rows[i]["MODULEID"].ToString();
//CNode.NavigateUrl = dtChild.Rows[i]["MODULE_URL"].ToString(); //具体导航到的页面
foreach (DataRow dr2 in dtRolePower.Rows)
{
if (Convert.ToInt32(CNode.Value) == Convert.ToInt32(dr2[0].ToString()))
{
CNode.Checked = true;
}
}
PNode.ChildNodes.Add(CNode);
}
}
}