2011-11-08 61 views
1

在我的頁面頂部的theres按鈕。我想添加子菜單到這些按鈕:可能以編程方式在c#中創建子菜單?

protected void AddMenuItems() 
{ 
    // Check privledges and add links to admin pages accordingly. 
    // List adds pages in order of user precedence. 


    if (_cu.IsUser) 
    { 
     NavigationMenu.Items.Add(new MenuItem("Generate UserIDs", "Generate UserIDs", null, "~/GenPrefixList.aspx")); 
    } 
} 

有沒有辦法,我可以添加子菜單的項目?

回答

1

是的,每個MenuItem都有一個ChildItems集合,您可以向其添加無限數量的項目。

protected void AddMenuItems() 
{ 
    // Check privledges and add links to admin pages accordingly. 
    // List adds pages in order of user precedence. 


    if (_cu.IsUser) 
    { 
     var newItem = new MenuItem("Generate UserIDs", "Generate UserIDs", null, "~/GenPrefixList.aspx"); 
     var subItem = new MenuItem("Sub Menu Item", "Submenu Item", null, "page.aspx"); 
     newItem.ChildItems.Add(subItem); 
     NavigationMenu.ChildItems.Add(newItem); 
    } 
} 

的「子菜單項目」將是「Geneate用戶ID」,這是導航菜單的孩子的孩子。

更新:代碼中的Items引用應該是ChildItemsItems是用於Windows應用程序菜單的集合;您添加了ASP.NET標籤,因此我認爲這是一個Web應用程序。

+0

'System.Web.UI.WebControls.MenuItem'不包含'Items'的定義,並且沒有擴展方法可以找到接受'System.Web.UI.WebControls.MenuItem'類型的第一個參數的'Items' (你是否缺少using指令或程序集引用?) – nhat

+0

...你在表單設計器或ASP.NET中執行此操作嗎?如果是ASP.NET,則刪除'System.Windows.Forms.MenuItem'引用。我複製了你的代碼,但是在這種情況下'Items'應該是'ChildItems'。 –

+0

好,很酷,這是問題。謝謝! – nhat

相關問題