我有一个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并将其传递给描述页。 请帮我。 谢谢
答案 0 :(得分:0)
您可以在向菜单添加项目时将参数添加为值,然后在单击事件处理程序中检索这些参数。
protected void menuBar_MenuItemClick(object sender, MenuEventArgs e)
{
Response.Redirect("SomePAge.aspx?ID=" + e.CommandArgument);
}