从nlevel菜单将数据传递到另一个页面

时间:2013-05-15 06:17:10

标签: c# asp.net menu query-string

我有一个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。当点击其中一个菜单项时,我想重定向到描述页面并显示所选菜单项的描述。我想我应该使用querystring,比如menuitem点击:responce.redirect(description.aspx?ID = something)问题是我不知道如何获取所选菜单项的ID并将其传递给描述页。 请帮我。 谢谢

1 个答案:

答案 0 :(得分:0)

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

protected void menuBar_MenuItemClick(object sender, MenuEventArgs e)
    {
        Response.Redirect("SomePAge.aspx?ID=" + e.CommandArgument);
    }