公积金管理平台
1、导航采用手风琴模式,一共分为四级菜单。
关键代码:
protected void LoadMenu()
{
//加载菜单
DataTable DTMenu = new MenuBLL().querytMenuDSByCon(" and TROLEPERMIT.JSBH=" + rolerID + " order by Menuorder asc").Tables[0]; //查询所有的菜单
//DataTable DTMenu = new MenuBLL().queryTMenuByCon(" order by Menuorder asc").Tables[0]; //查询所有的菜单
System.Text.StringBuilder sb = new System.Text.StringBuilder();
sb.Append("<div class=\"bg\">"); //最外层
foreach (DataRow dr in DTMenu.Select("MenuPID=10")) //实现一级菜单
{
sb.Append("<div class=\"t fblod\" id=\"s" + dr["MenuID"].ToString() + "\" onclick=\"w('" + dr["MenuID"].ToString() + "')\">" + dr["MenuName"].ToString() + " </div>");//一级菜单名
sb.Append("<div class=\"ps\" id=\"" + dr["MenuID"].ToString() + "\">"); //二级外层
foreach (DataRow row in DTMenu.Select("MenuPID ='" + dr["MenuID"].ToString() + "'")) //得到的是二级菜单
{
DataTable dt = new MenuBLL().queryTMenuByCon(" and MenuPID ='" + row["MenuID"].ToString() + "' order by Menuorder asc").Tables[0];
if (dt.Rows.Count > 0)
{
//二级菜单名有子菜单
sb.Append("<div class=\"f fblod\" id=\"s" + row["MenuID"].ToString() + "\" onclick=\"k('" + row["MenuID"].ToString() + "')\">" + row["MenuName"].ToString() + "</div>");
}
else
{
//二级菜单名无子菜单情况
sb.Append("<div class=\"gs\"><a href='" + row["MenuUrl"].ToString() + "' target='mainFrame'>" + row["MenuName"].ToString() + "</a></div>");
}
sb.Append("<div class=\"ps\" id=\"" + row["MenuID"].ToString() + "\">");//三级外层
foreach (DataRow row2 in DTMenu.Select("MenuPID ='" + row["MenuID"].ToString() + "'")) //得到是三级菜单
{
DataTable dt1 = new MenuBLL().queryTMenuByCon(" and MenuPID ='" + row2["MenuID"].ToString() + "' order by Menuorder asc").Tables[0];
if (dt1.Rows.Count > 0)
{
//三级菜单名有子菜单
//string B = row2["MenuName"].ToString();
sb.Append("<div class=\"g fblod\" id=\"a" + row2["MenuID"].ToString() + "\" onclick=\"d('" + row2["MenuID"].ToString() + "')\">" + row2["MenuName"].ToString() + "</div>");
}
else
{
//三级菜单名无子菜单情况
sb.Append("<div class=\"gs\"><a href='" + row2["MenuUrl"].ToString() + "' target='mainFrame'>" + row2["MenuName"].ToString() + "</a></div>");
}
sb.Append("<div class=\"ps\" id=\"" + row2["MenuID"].ToString() + "\">");//四级外层
foreach (DataRow row3 in DTMenu.Select("MenuPID ='" + row2["MenuID"].ToString() + "'")) //得到是四级菜单
{
sb.Append("<div class=\"d\"><a href='" + row3["MenuUrl"].ToString() + "' target='mainFrame'>" + row3["MenuName"].ToString() + "</a></div>");
}
sb.Append("</div>");//四级外层结束
}
sb.Append("</div>");//三级外层结束
}
sb.Append(" </div>");//二级外层结束
}
sb.Append("\t" + " </div>");//最外层结束
this.litMenu.Text = sb.ToString();
}
菜单分权限显示不同菜单。用于学习权限菜单不错的资料。
2、TreeView的无限级绑定
关键代码:
protected void DataBindTreeView()
{
//加载菜单
DataTable treeData = new MenuBLL().querytMenuDSByCon(" and TROLEPERMIT.JSBH=" + rolerID + " order by Menuorder asc").Tables[0]; //查询所有的菜单
CreateTree(TreeViewMenu, treeData);
treeData.Clear();
}
/// <summary>
///生成树
/// </summary>
/// <param name="treeView"></param>
/// <param name="treeData"></param>
private void CreateTree(TreeView treeView, DataTable treeData)
{
treeView.Nodes.Clear();//清空树的所有节点
treeView.ExpandDepth = 2;
TreeNode rootNode = new TreeNode();//创建根节点
rootNode.Text = "公积金管理系统";
rootNode.Value = "10";
rootNode.NavigateUrl = "javascript:SetActionId('" + rootNode.Value + "','')";
treeView.Nodes.Add(rootNode);//添加根节点
CreateChildNode(rootNode, treeData);//创建其他节点
}
/// <summary>
///生成子节点
/// </summary>
/// <param name="parentNode"></param>
/// <param name="treeData"></param>
private void CreateChildNode(TreeNode parentNode, DataTable treeData)
{
DataRow[] rowList = treeData.Select("MenuPID='" + parentNode.Value + "'");
foreach (DataRow row in rowList)
{
TreeNode node = new TreeNode();//创建新节点
node.Text = row["MenuName"].ToString();
node.Value = row["MenuID"].ToString();
node.NavigateUrl = "javascript:SetActionId('" + node.Value + "','')";
parentNode.ChildNodes.Add(node);
CreateChildNode(node, treeData);//递归调用,创建其他节点
}
}
3、采用三层架构
4、UI采用的是easy-ui
5、菜单风格采用的是手风琴菜单
登录主要界面:
源程序下载地址:http://download.youkuaiyun.com/detail/lovegonghui/9267981