2013-05-15 15 views
1

我有一個多級菜單與asp.net c#,它從數據庫表中獲取它的項目。我的表有項目:menuID,menuname,描述,parentID。我的代碼如下所示。從nlevel菜單傳遞數據到另一頁

<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並將其傳遞給描述頁。 請幫助我。 謝謝

回答

0

將項目添加到菜單中時,可以將參數添加爲值,然後在單擊事件處理程序中檢索這些參數。

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

對不起,我該如何添加參數作爲菜單的值?你能幫我解答嗎? –

相關問題