1

我有一个带有 asp.net c# 的多级菜单,它从数据库表中获取其项目。我的表有项目:menuID、menuname、description、parentID。我的代码如下所示。

<asp:Menu ID="menuBar" runat="server" Orientation="Horizontal" Width="80%"
                    onmenuitemclick="menuBar_MenuItemClick" Height="28px">

                </asp:Menu>

后面的代码是:

public void Connect()
    {
        con = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["cnstring"].ConnectionString);
    }

    private void getMenu()
    {

        Connect();
        con.Open();
        DataSet ds = new DataSet();
        DataTable dt = new DataTable();
        string sql = "Select * from tbl_WebMenu";
        SqlDataAdapter da = new SqlDataAdapter(sql, con);
        da.Fill(ds);
        dt = ds.Tables[0];
        DataRow[] drowpar = dt.Select("ParentID=" + 0);

        foreach (DataRow dr in drowpar)
        {
            menuBar.Items.Add(new MenuItem(dr["MenuName"].ToString(), dr["MenuID"].ToString()));
        }

        foreach (DataRow dr in dt.Select("ParentID >" + 0))
        {
            MenuItem mnu = new MenuItem(dr["MenuName"].ToString(), dr["MenuID"].ToString());


            mnu.Enabled = true;

        }
        con.Close();
    }

我有一个页面,它的名称是 description.aspx。单击其中一个菜单项时,我想重定向到描述页面并显示所选菜单项的描述。我想我应该使用查询字符串,比如在 menuitem 上单击:responce.redirect(description.aspx?ID=something) 问题是我不知道如何获取所选菜单项的 ID 并将其传递给描述页。请帮我。谢谢你

4

1 回答 1

0

您可以在将项目添加到菜单时将参数添加为值,然后在单击事件处理程序中检索这些参数。

protected void menuBar_MenuItemClick(object sender, MenuEventArgs e)
    {
        Response.Redirect("SomePAge.aspx?ID=" + e.CommandArgument);
    }
于 2013-05-15T09:29:46.290 回答