zoukankan      html  css  js  c++  java
  • 利用ASP.NET的menu和SQL数据库制作无限级别菜单

    source:internet

    using System;
    using
    System.Data;
    using
    System.Configuration;
    using
    System.Collections;
    using
    System.Web;
    using
    System.Web.Security;
    using
    System.Web.UI;
    using
    System.Web.UI.WebControls;
    using
    System.Web.UI.WebControls.WebParts;
    using
    System.Web.UI.HtmlControls;
    using
    System.Data.SqlClient;
    using
    WebTools;
    public partial class
    Default4 : System.Web.UI.Page
    {
        
    public int
    parentID;
        
    public Tools Connectionstr1 = new
    Tools();
        
    protected void Page_Load(object
    sender, EventArgs e)
        
    {
            
    string Connectionstr =
    Connectionstr1.connStr.ConnectionString;
             SqlConnection SconnStr
    = new
    SqlConnection(Connectionstr);
            
    //设定数据库操作命令

             SconnStr.Open();
             SqlCommand Scmd
    = new SqlCommand("select * from menuTable where parentID=0"
    , SconnStr);
             SqlDataReader odr
    =
    Scmd.ExecuteReader();
            
    while
    (odr.Read())
            
    {
                 MenuItem menuNode
    = new
    MenuItem();
                 menuNode.Text
    = odr["menuName"
    ].ToString();
                 menuNode.Value
    = odr["id"
    ].ToString();
                 menuNode.Enabled
    = true
    ;
                 menuNode.Target
    = odr["target"
    ].ToString();
                 menuNode.NavigateUrl
    = odr["url"
    ].ToString();
                 Menu1.Items.Add(menuNode);
                 parentID
    = Convert.ToInt16(odr["id"
    ].ToString());
                 addchildmenu1(menuNode, menuNode.Value);
             }

            
    //关闭数据库连接
             Scmd.Connection.Close();
         }

        
    protected void addchildmenu1(MenuItem pnode,string
    pid)
        
    {
            
    string Connectionstr =
    Connectionstr1.connStr.ConnectionString;
             SqlConnection SconnStr1
    = new
    SqlConnection(Connectionstr);
            
    //设定数据库操作命令

             SconnStr1.Open();
             SqlCommand Scmd1
    = new SqlCommand("select * from menuTable where parentID=" + parentID + ""
    , SconnStr1);
             SqlDataReader odr
    =
    Scmd1.ExecuteReader();
            
    while
    (odr.Read())
            
    {
                 MenuItem menuNode
    = new
    MenuItem();
                 menuNode.Text
    = odr["menuName"
    ].ToString();
                 menuNode.Value
    = odr["id"
    ].ToString();
                 menuNode.Enabled
    = true
    ;
                 menuNode.Target
    = odr["target"
    ].ToString();
                 menuNode.NavigateUrl
    = odr["url"
    ].ToString();
                 pnode.ChildItems.Add(menuNode);
                 parentID
    = Convert.ToInt16(odr["id"
    ].ToString());
                 addchildmenu2(menuNode, menuNode.Value);
             }

            
    //关闭数据库连接
             Scmd1.Connection.Close();
         }

        
    protected void addchildmenu2(MenuItem pnode, string
    pid)
        
    {
            
    string Connectionstr =
    Connectionstr1.connStr.ConnectionString;
             SqlConnection SconnStr1
    = new
    SqlConnection(Connectionstr);
            
    //设定数据库操作命令

             SconnStr1.Open();
             SqlCommand Scmd1
    = new SqlCommand("select * from menuTable where parentID=" + parentID + ""
    , SconnStr1);
             SqlDataReader odr
    =
    Scmd1.ExecuteReader();
            
    while
    (odr.Read())
            
    {
                 MenuItem menuNode
    = new
    MenuItem();
                 menuNode.Text
    = odr["menuName"
    ].ToString();
                 menuNode.Value
    = odr["id"
    ].ToString();
                 menuNode.Enabled
    = true
    ;
                 menuNode.Target
    = odr["target"
    ].ToString();
                 menuNode.NavigateUrl
    = odr["url"
    ].ToString();
                 pnode.ChildItems.Add(menuNode);
                 parentID
    = Convert.ToInt16(odr["id"
    ].ToString());
                 addchildmenu1(menuNode, menuNode.Value);
             }

            
    //关闭数据库连接
             Scmd1.Connection.Close();
  • 相关阅读:
    springboot2 整合雪花算法,并兼容分布式部署
    docker 在 linux 搭建私有仓库
    jdbc 几种关系型数据库的连接 和 driver_class,以及简单的使用
    springboot2 整合发送邮件的功能
    oracle 唯一新约束 和 逻辑删除的 冲突处理办法
    oracle 一些常见操作方法
    spring-cloud-stream 整合 rabbitmq
    springboot2 整合 rabbitmq
    docker 安装 rabbitmq 消息队列
    网络统计学目录
  • 原文地址:https://www.cnblogs.com/NetSos/p/1749614.html
Copyright © 2011-2022 走看看