动态生成menu

本文介绍了一个使用ASP.NET实现动态菜单加载的方法。通过从数据库中读取分类信息,并利用SqlDataAdapter填充数据集,实现了将分类显示为网站菜单的功能。此外,还详细展示了如何递归地加载子级分类。

string strSQL = "";
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            strSQL = "Select * from tBigClass";
            DataView dvMain = dv(strSQL);
            foreach (DataRowView dvRV in dvMain)
            {
                MenuItem mi = new MenuItem();
                mi.Text = dvRV["MBTitle"].ToString();
                mi.Value = dvRV["id"].ToString();
                Menu1.Items.Add(mi);
                AddchildItem(mi);
            }
        }
    }

    private void AddchildItem(MenuItem mi)
    {
        int id = Convert.ToInt32(mi.Value);
        DataView dvChild = dv("select * from tSmallClass where MSPid=" + id);
        foreach (DataRowView dvRV in dvChild)
        {
            MenuItem min = new MenuItem();
            min.Text = dvRV["MSTitle"].ToString();

            mi.ChildItems.Add(min);

 

        }

    }

    private DataView dv(string query)
    {
        string strConn;
        SqlConnection sqlConn;
        strConn = System.Configuration.ConfigurationManager.AppSettings["ConnectString"];
        sqlConn = new SqlConnection(strConn);
        sqlConn.Open();
        SqlDataAdapter sda = new SqlDataAdapter(query, sqlConn);
        DataSet ds = new DataSet();
        sda.Fill(ds, "tClass");
        return ds.Tables["tClass"].DefaultView;
    }

转载于:https://www.cnblogs.com/luyongqun/archive/2007/04/25/726380.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值