2011-11-08 64 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

相关问题