加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

Menu控件+SQLServer实现动态多级菜单

发布时间:2020-12-12 13:13:05 所属栏目:MsSql教程 来源:网络整理
导读:首先是数据表的设计 其中treeId指的是该菜单项的父ID,如果treeId为0.表示该菜单项为根菜单项,否则表示他为某菜单项的子菜单,比如id为2的项,他的父节点是1.则他是张三的子菜单,而张三是根菜单,position只用于根菜单项,用于控制显示的顺序。 往网页里拖
using? System;System.Data; System.Configuration;System.Web; System.Web.Security;System.Web.UI; System.Web.UI.WebControls;System.Web.UI.WebControls.WebParts; System.Web.UI.HtmlControls;System.Data.SqlClient; System.Data.ProviderBase;public? partial? class? _Default :? System.Web.UI.Page{????int? treeID;protected? void? Page_Load(object? sender,EventArgs e)????{ ????????SqlConnection CN = new? SqlConnection("server=.;Trusted_Connection=SSPI;database=MENUDB");? //MENUDB是数据库名????????//设定数据库操作命令 CN.Open();SqlCommand Scmd = SqlCommand("select * from TB_MENU where treeId=0 order by position",CN); //选出根菜单 SqlDataReader odr = Scmd.ExecuteReader();????????while? (odr.Read())? //循环读取 {????????????MenuItem menuNode = MenuItem(); menuNode.Text = odr["names"].ToString();menuNode.Value = odr["id"].ToString(); menuNode.Enabled = true;menuNode.NavigateUrl = odr["page"].ToString(); Menu1.Items.Add(menuNode);? //添加到根菜单treeID = Convert.ToInt16(odr[].ToString());? addchildmenu(menuNode);} //关闭数据库连接Scmd.Connection.Close(); }addchildmenu(MenuItem pnode)? //添加子菜单 {);//设定数据库操作命令CN.Open(); SqlCommand Scmd1 = "select * from TB_MENU where treeID="? + treeID + ""(odr.Read()) {MenuItem(); ].ToString();].ToString(); ;].ToString(); pnode.ChildItems.Add(menuNode);? //为当前菜单项添加子菜单].ToString()); addchildmenu(menuNode);? //循环添加子菜单} //关闭数据库连接Scmd1.Connection.Close(); }}

  最终效果如下图

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!


首先是数据表的设计

其中treeId指的是该菜单项的父ID,如果treeId为0.表示该菜单项为根菜单项,否则表示他为某菜单项的子菜单,比如id为2的项,他的父节点是1.则他是张三的子菜单,而张三是根菜单,position只用于根菜单项,用于控制显示的顺序。

往网页里拖入一个menu控件,然后添加代码

    推荐文章
      热点阅读