MenuItemCollection Clase

Definición

Representa una colección de elementos de menú en un control Menu. Esta clase no puede heredarse.

public ref class MenuItemCollection sealed : System::Collections::ICollection, System::Web::UI::IStateManager
public sealed class MenuItemCollection : System.Collections.ICollection, System.Web.UI.IStateManager
type MenuItemCollection = class
    interface ICollection
    interface IEnumerable
    interface IStateManager
Public NotInheritable Class MenuItemCollection
Implements ICollection, IStateManager
Herencia
MenuItemCollection
Implementaciones

Ejemplos

En el ejemplo de código siguiente se muestra cómo rellenar las Items colecciones y ChildItems mediante la sintaxis declarativa.


<%@ Page Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >

  <!-- For the hover styles of the Menu control to  -->
  <!-- work correctly, you must include this head   -->
  <!-- element.                                     -->
  <head runat="server">
    <title>Menu Declarative Example</title>
</head>

  <body>
    <form id="form1" runat="server">
    
      <h3>Menu Declarative Example</h3>
    
      <!-- Use declarative syntax to create the   -->
      <!-- menu structure. Submenu items are      -->
      <!-- created by nesting them in parent menu -->
      <!-- items.                                 -->
      <asp:menu id="NavigationMenu"
        disappearafter="2000"
        staticdisplaylevels="2"
        staticsubmenuindent="10" 
        orientation="Vertical"
        font-names="Arial" 
        target="_blank"  
        runat="server">
        
        <staticmenuitemstyle backcolor="LightSteelBlue"
          forecolor="Black"/>
        <statichoverstyle backcolor="LightSkyBlue"/>
        <dynamicmenuitemstyle backcolor="Black"
          forecolor="Silver"/>
        <dynamichoverstyle backcolor="LightSkyBlue"
          forecolor="Black"/>
      
        <items>
          <asp:menuitem navigateurl="Home.aspx" 
            text="Home"
            tooltip="Home">
            <asp:menuitem navigateurl="Music.aspx"
              text="Music"
              tooltip="Music">
              <asp:menuitem navigateurl="Classical.aspx" 
                text="Classical"
                tooltip="Classical"/>
              <asp:menuitem navigateurl="Rock.aspx"
                text="Rock"
                tooltip="Rock"/>
              <asp:menuitem navigateurl="Jazz.aspx"
                text="Jazz"
                tooltip="Jazz"/>
            </asp:menuitem>
            <asp:menuitem navigateurl="Movies.aspx"
              text="Movies"
              tooltip="Movies">
              <asp:menuitem navigateurl="Action.aspx"
                text="Action"
                tooltip="Action"/>
              <asp:menuitem navigateurl="Drama.aspx"
                text="Drama"
                tooltip="Drama"/>
              <asp:menuitem navigateurl="Musical.aspx"
                text="Musical"
                tooltip="Musical"/>
            </asp:menuitem>
          </asp:menuitem>
        </items>
      
      </asp:menu>

    </form>
  </body>
</html>

<%@ Page Language="VB" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >

  <!-- For the hover styles of the Menu control to  -->
  <!-- work correctly, you must include this head   -->
  <!-- element.                                     -->
  <head runat="server">
    <title>Menu Declarative Example</title>
</head>

  <body>
    <form id="form1" runat="server">
    
      <h3>Menu Declarative Example</h3>
    
      <!-- Use declarative syntax to create the   -->
      <!-- menu structure. Submenu items are      -->
      <!-- created by nesting them in parent menu -->
      <!-- items.                                 -->
      <asp:menu id="NavigationMenu"
        disappearafter="2000"
        staticdisplaylevels="2"
        staticsubmenuindent="10" 
        orientation="Vertical"
        font-names="Arial" 
        target="_blank"  
        runat="server">
        
        <staticmenuitemstyle backcolor="LightSteelBlue"
          forecolor="Black"/>
        <statichoverstyle backcolor="LightSkyBlue"/>
        <dynamicmenuitemstyle backcolor="Black"
          forecolor="Silver"/>
        <dynamichoverstyle backcolor="LightSkyBlue"
          forecolor="Black"/>
      
        <items>
          <asp:menuitem navigateurl="Home.aspx" 
            text="Home"
            tooltip="Home">
            <asp:menuitem navigateurl="Music.aspx"
              text="Music"
              tooltip="Music">
              <asp:menuitem navigateurl="Classical.aspx" 
                text="Classical"
                tooltip="Classical"/>
              <asp:menuitem navigateurl="Rock.aspx"
                text="Rock"
                tooltip="Rock"/>
              <asp:menuitem navigateurl="Jazz.aspx"
                text="Jazz"
                tooltip="Jazz"/>
            </asp:menuitem>
            <asp:menuitem navigateurl="Movies.aspx"
              text="Movies"
              tooltip="Movies">
              <asp:menuitem navigateurl="Action.aspx"
                text="Action"
                tooltip="Action"/>
              <asp:menuitem navigateurl="Drama.aspx"
                text="Drama"
                tooltip="Drama"/>
              <asp:menuitem navigateurl="Musical.aspx"
                text="Musical"
                tooltip="Musical"/>
            </asp:menuitem>
          </asp:menuitem>
        </items>
      
      </asp:menu>

    </form>
  </body>
</html>

En el ejemplo de código siguiente se muestra cómo agregar un MenuItem objeto mediante programación a la ChildItems colección de un elemento de menú raíz.


<%@ Page Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
    
  void Page_Load(Object sender, EventArgs e)
  {
    if (!IsPostBack)
    {
      // Retrieve the root menu item from the Items
      // collection of the Menu control using the indexer.
      MenuItem homeMenuItem = NavigationMenu.Items[0];

      // Create the submenu item.
      MenuItem newSubMenuItem = new MenuItem("New Category");

      // Add the submenu item to the ChildItems
      // collection of the root menu item.
      homeMenuItem.ChildItems.Add(newSubMenuItem);
    }
  }

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>MenuItemCollection Add Example</title>
</head>
<body>
    <form id="form1" runat="server">
    
      <h3>MenuItemCollection Add Example</h3>
    
      <asp:menu id="NavigationMenu"
        orientation="Vertical"
        target="_blank" 
        runat="server">
        
        <items>
          <asp:menuitem text="Home"
            tooltip="Home">
            <asp:menuitem text="Music"
              tooltip="Music">
              <asp:menuitem text="Classical"
                tooltip="Classical"/>
              <asp:menuitem text="Rock"
                tooltip="Rock"/>
              <asp:menuitem text="Jazz"
                tooltip="Jazz"/>
            </asp:menuitem>
            <asp:menuitem text="Movies"
              tooltip="Movies">
              <asp:menuitem text="Action"
                tooltip="Action"/>
              <asp:menuitem text="Drama"
                tooltip="Drama"/>
              <asp:menuitem text="Musical"
                tooltip="Musical"/>
            </asp:menuitem>
          </asp:menuitem>
        </items>

      </asp:menu>

    </form>
  </body>
</html>

<%@ Page Language="VB" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
    
  Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)

    If Not IsPostBack Then

      ' Retrieve the root menu item from the Items
      ' collection of the Menu control using the indexer.
      Dim homeMenuItem As MenuItem = NavigationMenu.Items(0)

      ' Create the submenu item.
      Dim newSubMenuItem = New MenuItem("New Category")

      ' Add the submenu item to the ChildItems
      ' collection of the root menu item.
      homeMenuItem.ChildItems.Add(newSubMenuItem)
    
    End If
      
  End Sub

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>MenuItemCollection Add Example</title>
</head>
<body>
    <form id="form1" runat="server">
    
      <h3>MenuItemCollection Add Example</h3>
    
      <asp:menu id="NavigationMenu"
        orientation="Vertical"
        target="_blank" 
        runat="server">
        
        <items>
          <asp:menuitem text="Home"
            tooltip="Home">
            <asp:menuitem text="Music"
              tooltip="Music">
              <asp:menuitem text="Classical"
                tooltip="Classical"/>
              <asp:menuitem text="Rock"
                tooltip="Rock"/>
              <asp:menuitem text="Jazz"
                tooltip="Jazz"/>
            </asp:menuitem>
            <asp:menuitem text="Movies"
              tooltip="Movies">
              <asp:menuitem text="Action"
                tooltip="Action"/>
              <asp:menuitem text="Drama"
                tooltip="Drama"/>
              <asp:menuitem text="Musical"
                tooltip="Musical"/>
            </asp:menuitem>
          </asp:menuitem>
        </items>

      </asp:menu>

    </form>
  </body>
</html>

Comentarios

La MenuItemCollection clase se usa para almacenar y administrar una colección de MenuItem objetos en el Menu control . El Menu control usa la MenuItemCollection clase para almacenar sus elementos de menú raíz en la Items propiedad . Esta colección también se usa para la ChildItems propiedad de un objeto para almacenar los elementos del submenú de un MenuItem elemento de menú (si los hay).

La MenuItemCollection clase admite varias maneras de acceder a los elementos de la colección:

  • Use el Item[] indexador para recuperar directamente un MenuItem objeto en un índice específico de base cero.

  • Use el GetEnumerator método para crear un enumerador que se pueda usar para recorrer en iteración la colección.

  • Use el CopyTo método para copiar el contenido de la colección en una matriz.

Puede administrar mediante programación un MenuItemCollection objeto agregando y quitando MenuItem objetos. Para agregar elementos de menú a la colección, use el Add método o AddAt . Para quitar nodos de la colección, use , Removeo RemoveAtel Clear método .

Nota

Cuando el Menu control está enlazado a un origen de datos, las Items colecciones y ChildItems se rellenan automáticamente cada vez que se produce el enlace. Los cambios realizados en las colecciones entre enlaces se perderán. Para conservar estos cambios, actualice el origen de datos o recompile manualmente la colección cada vez que se enlaza.

La MenuItemCollection clase contiene propiedades y métodos que permiten recuperar información sobre la propia colección. Para averiguar cuántos elementos hay en la colección, use la Count propiedad . Si desea determinar si la colección contiene un objeto determinado MenuItem , use el Contains método . Para obtener el índice de un MenuItem objeto de la colección, use el IndexOf método .

Constructores

MenuItemCollection()

Inicializa una nueva instancia de la clase MenuItemCollection con los valores predeterminados.

MenuItemCollection(MenuItem)

Inicializa una nueva instancia de la clase MenuItemCollection utilizando el elemento de menú primario especificado (o propietario).

Propiedades

Count

Obtiene el número de elementos de menú contenidos en el objeto MenuItemCollection actual.

IsSynchronized

Obtiene un valor que indica si el acceso al objeto MenuItemCollection está sincronizado (es seguro para subprocesos).

Item[Int32]

Obtiene el objeto MenuItem en el índice especificado del objeto MenuItemCollection actual.

SyncRoot

Obtiene un objeto que puede utilizarse para sincronizar el acceso al objeto MenuItemCollection.

Métodos

Add(MenuItem)

Anexa el objeto MenuItem especificado al final del objeto MenuItemCollection actual.

AddAt(Int32, MenuItem)

Inserta el objeto MenuItem especificado en el objeto MenuItemCollection actual en la ubicación de índice especificada.

Clear()

Quita todos los elementos del objeto MenuItemCollection actual.

Contains(MenuItem)

Determina si el objeto MenuItem especificado está en la colección.

CopyTo(Array, Int32)

Copia todos los elementos del objeto MenuItemCollection en una matriz unidimensional compatible de objetos Array, empezando por el índice especificado de la matriz de destino.

CopyTo(MenuItem[], Int32)

Copia todos los elementos del objeto MenuItemCollection en una matriz unidimensional compatible de objetos MenuItem, empezando por el índice especificado de la matriz de destino.

Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
GetEnumerator()

Devuelve un enumerador que puede utilizarse para recorrer en iteración los elementos del objeto MenuItemCollection actual.

GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
IndexOf(MenuItem)

Determina el índice del objeto MenuItem especificado en la colección.

MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
Remove(MenuItem)

Quita el objeto MenuItem especificado del objeto MenuItemCollection.

RemoveAt(Int32)

Quita el objeto MenuItem de la ubicación de índice especificada del objeto MenuItemCollection actual.

ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Implementaciones de interfaz explícitas

IStateManager.IsTrackingViewState

Obtiene un valor que indica si el objeto MenuItemCollection está guardando los cambios en su estado de vista.

IStateManager.LoadViewState(Object)

Carga el estado de vista previamente guardado del objeto MenuItemCollection.

IStateManager.SaveViewState()

Guarda los cambios del estado de vista en un objeto Object.

IStateManager.TrackViewState()

Indica al objeto MenuItemCollection que efectúe el seguimiento de los cambios de su estado de vista.

Métodos de extensión

Cast<TResult>(IEnumerable)

Convierte los elementos de IEnumerable en el tipo especificado.

OfType<TResult>(IEnumerable)

Filtra los elementos de IEnumerable en función de un tipo especificado.

AsParallel(IEnumerable)

Habilita la paralelización de una consulta.

AsQueryable(IEnumerable)

Convierte una interfaz IEnumerable en IQueryable.

Se aplica a

Consulte también