¿Es posible crear un submenú mediante programación en c #?

En mi página hay botones en la parte superior. Me gustaría agregar submenús a esos botones:

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"));
    }
}

¿Hay alguna forma de que pueda agregar un submenú al artículo?

preguntado el 08 de noviembre de 11 a las 18:11

1 Respuestas

Si, cada uno MenuItem tiene un ChildItems colección a la que puede agregar un número indefinido de elementos.

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);
    }
}

El "Elemento de submenú" será un elemento secundario de "Geneate UserIDs", que es un elemento secundario del menú de navegación.

Noticias: Los Items la referencia en su código debe ser ChildItems. Items es la colección utilizada para el menú de la aplicación de Windows; agregó la etiqueta ASP.NET, así que supongo que esta es una aplicación web.

respondido 08 nov., 11:22

'System.Web.UI.WebControls.MenuItem' no contiene una definición para 'Items' y ningún método de extensión 'Items' aceptando un primer argumento de tipo 'System.Web.UI.WebControls.MenuItem' podría ser encontrado (¿estás ¿Falta una directiva de uso o una referencia de ensamblado?) - nhat

... ¿está haciendo esto en el diseñador de formularios o ASP.NET? Si es ASP.NET, elimine el System.Windows.Forms.MenuItem referencia. Copié tu código, pero el Items debiera ser ChildItems en ese caso. - Devin Burke

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.