MenuItemCollection Clase

Definición

Representa una colección de elementos de menú en un control Menu.Represents a collection of menu items in a Menu control. No se puede heredar esta clase.This class cannot be inherited.

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 colecciones Items y ChildItems mediante la sintaxis declarativa.The following code example demonstrates how to populate the Items and ChildItems collections using declarative syntax.


<%@ 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 objeto MenuItem mediante programación a la colección ChildItems de un elemento de menú raíz.The following code example demonstrates how to programmatically add a MenuItem object to the ChildItems collection of a root menu item.


<%@ 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 clase MenuItemCollection se utiliza para almacenar y administrar una colección de objetos MenuItem en el control Menu.The MenuItemCollection class is used to store and manage a collection of MenuItem objects in the Menu control. El control Menu utiliza la clase MenuItemCollection para almacenar sus elementos de menú raíz en la propiedad Items.The Menu control uses the MenuItemCollection class to store its root menu items in the Items property. Esta colección también se utiliza para la propiedad ChildItems de un objeto MenuItem para almacenar los elementos de submenú de un elemento de menú (si hay alguno).This collection is also used for the ChildItems property of a MenuItem object to store a menu item's submenu items (if any).

La clase MenuItemCollection admite varias maneras de obtener acceso a los elementos de la colección:The MenuItemCollection class supports several ways to access the items in the collection:

  • Use el indexador de Item[Int32] para recuperar directamente un objeto MenuItem en un índice de base cero específico.Use the Item[Int32] indexer to directly retrieve a MenuItem object at a specific zero-based index.

  • Utilice el método GetEnumerator para crear un enumerador que se puede utilizar para recorrer en iteración la colección.Use the GetEnumerator method to create an enumerator that can be used to iterate through the collection.

  • Utilice el método CopyTo para copiar el contenido de la colección en una matriz.Use the CopyTo method to copy the contents of the collection into an array.

Puede administrar mediante programación un objeto de MenuItemCollection agregando y quitando objetos de MenuItem.You can programmatically manage a MenuItemCollection object by adding and removing MenuItem objects. Para agregar elementos de menú a la colección, use la Add o el método AddAt.To add menu items to the collection, use the Add or the AddAt method. Para quitar nodos de la colección, use el Remove, el RemoveAto el método Clear.To remove nodes from the collection, use the Remove, the RemoveAt, or the Clear method.

Nota

Cuando el control de Menu se enlaza a un origen de datos, las colecciones Items y ChildItems se rellenan automáticamente cada vez que se produce el enlace.When the Menu control is bound to a data source, the Items and ChildItems collections are automatically populated each time binding occurs. Se perderán todos los cambios que se realicen en las colecciones entre enlaces.Any changes to the collections between bindings will be lost. Para conservar estos cambios, actualice el origen de datos o vuelva a generar manualmente la recopilación cada vez que se enlace.To retain these changes, either update the data source or manually rebuild the collection each time you bind.

La clase MenuItemCollection contiene propiedades y métodos que permiten recuperar información sobre la propia colección.The MenuItemCollection class contains properties and methods that allow you to retrieve information about the collection itself. Para averiguar el número de elementos que hay en la colección, use la propiedad Count.To find out how many items are in the collection, use the Count property. Si desea determinar si la colección contiene un determinado objeto MenuItem, utilice el método Contains.If you want to determine whether the collection contains a certain MenuItem object, use the Contains method. Para obtener el índice de un objeto MenuItem en la colección, use el método IndexOf.To get the index of a MenuItem object in the collection, use the IndexOf method.

Constructores

MenuItemCollection()

Inicializa una nueva instancia de la clase MenuItemCollection con los valores predeterminados.Initializes a new instance of the MenuItemCollection class using the default values.

MenuItemCollection(MenuItem)

Inicializa una nueva instancia de la clase MenuItemCollection utilizando el elemento de menú primario especificado (o propietario).Initializes a new instance of the MenuItemCollection class using the specified parent menu item (or owner).

Propiedades

Count

Obtiene el número de elementos de menú contenidos en el objeto MenuItemCollection actual.Gets the number of menu items contained in the current MenuItemCollection object.

IsSynchronized

Obtiene un valor que indica si el acceso al objeto MenuItemCollection está sincronizado (es seguro para subprocesos).Gets a value indicating whether access to the MenuItemCollection object is synchronized (thread safe).

Item[Int32]

Obtiene el objeto MenuItem en el índice especificado del objeto MenuItemCollection actual.Gets the MenuItem object at the specified index in the current MenuItemCollection object.

SyncRoot

Obtiene un objeto que puede utilizarse para sincronizar el acceso al objeto MenuItemCollection.Gets an object that can be used to synchronize access to the MenuItemCollection object.

Métodos

Add(MenuItem)

Anexa el objeto MenuItem especificado al final del objeto MenuItemCollection actual.Appends the specified MenuItem object to the end of the current MenuItemCollection object.

AddAt(Int32, MenuItem)

Inserta el objeto MenuItem especificado en el objeto MenuItemCollection actual en la ubicación de índice especificada.Inserts the specified MenuItem object in the current MenuItemCollection object at the specified index location.

Clear()

Quita todos los elementos del objeto MenuItemCollection actual.Removes all items from the current MenuItemCollection object.

Contains(MenuItem)

Determina si el objeto MenuItem especificado está en la colección.Determines whether the specified MenuItem object is in the collection.

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.Copies all the items from the MenuItemCollection object to a compatible one-dimensional Array, starting at the specified index in the target array.

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.Copies all the items from the MenuItemCollection object to a compatible one-dimensional array of MenuItem objects, starting at the specified index in the target array.

Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.Determines whether the specified object is equal to the current object.

(Heredado de Object)
GetEnumerator()

Devuelve un enumerador que puede utilizarse para recorrer en iteración los elementos del objeto MenuItemCollection actual.Returns an enumerator that can be used to iterate through the items in the current MenuItemCollection object.

GetHashCode()

Sirve como función hash predeterminada.Serves as the default hash function.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.Gets the Type of the current instance.

(Heredado de Object)
IndexOf(MenuItem)

Determina el índice del objeto MenuItem especificado en la colección.Determines the index of the specified MenuItem object in the collection.

MemberwiseClone()

Crea una copia superficial del Object actual.Creates a shallow copy of the current Object.

(Heredado de Object)
Remove(MenuItem)

Quita el objeto MenuItem especificado del objeto MenuItemCollection.Removes the specified MenuItem object from the MenuItemCollection object.

RemoveAt(Int32)

Quita el objeto MenuItem de la ubicación de índice especificada del objeto MenuItemCollection actual.Removes the MenuItem object at the specified index location from the current MenuItemCollection object.

ToString()

Devuelve una cadena que representa el objeto actual.Returns a string that represents the current object.

(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.Gets a value that indicates whether the MenuItemCollection object is saving changes to its view state.

IStateManager.LoadViewState(Object)

Carga el estado de vista previamente guardado del objeto MenuItemCollection.Loads the MenuItemCollection object's previously saved view state.

IStateManager.SaveViewState()

Guarda los cambios del estado de vista en un objeto Object.Saves the changes to view state to an Object.

IStateManager.TrackViewState()

Indica al objeto MenuItemCollection que efectúe el seguimiento de los cambios de su estado de vista.Instructs the MenuItemCollection object to track changes to its view state.

Métodos de extensión

Cast<TResult>(IEnumerable)

Convierte los elementos de IEnumerable en el tipo especificado.Casts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable)

Filtra los elementos de IEnumerable en función de un tipo especificado.Filters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable)

Habilita la paralelización de una consulta.Enables parallelization of a query.

AsQueryable(IEnumerable)

Convierte una interfaz IEnumerable en IQueryable.Converts an IEnumerable to an IQueryable.

Se aplica a

Consulte también: