MenuItemCollection Classe

Definizione

Rappresenta una raccolta di voci di menu in un controllo Menu. La classe non può essere ereditata.

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
Ereditarietà
MenuItemCollection
Implementazioni

Esempio

Nell'esempio di codice seguente viene illustrato come popolare le Items raccolte e ChildItems usando la sintassi dichiarativa.


<%@ 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>

Nell'esempio ChildItems di codice seguente viene illustrato come aggiungere a livello di codice un MenuItem oggetto alla raccolta di una voce di menu radice.


<%@ 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>

Commenti

La MenuItemCollection classe viene usata per archiviare e gestire una raccolta di MenuItem oggetti nel Menu controllo. Il Menu controllo usa la classe per archiviare le MenuItemCollection voci di menu radice nella Items proprietà. Questa raccolta viene usata anche per la ChildItems proprietà di un oggetto per archiviare le voci secondarie di una MenuItem voce di menu (se presente).

La MenuItemCollection classe supporta diversi modi per accedere agli elementi della raccolta:

  • Usare l'indicizzatore Item[] per recuperare direttamente un MenuItem oggetto in base a un indice in base zero specifico.

  • Usare il GetEnumerator metodo per creare un enumeratore che può essere usato per scorrere la raccolta.

  • Utilizzare il CopyTo metodo per copiare il contenuto della raccolta in una matrice.

È possibile gestire a livello di codice un MenuItemCollection oggetto aggiungendo e rimuovendo MenuItem oggetti. Per aggiungere voci di menu alla raccolta, usare il AddAddAt metodo o . Per rimuovere i nodi dalla raccolta, usare il RemoveRemoveAtmetodo , o .Clear

Nota

Quando il controllo è associato a un'origine dati, le raccolte e ChildItems vengono popolate automaticamente ogni volta che Items si verifica l'associazioneMenu. Tutte le modifiche apportate alle raccolte tra associazioni verranno perse. Per conservare queste modifiche, aggiornare l'origine dati o ricompilare manualmente la raccolta ogni volta che si esegue l'associazione.

La MenuItemCollection classe contiene proprietà e metodi che consentono di recuperare informazioni sulla raccolta stessa. Per scoprire quanti elementi si trovano nella raccolta, usare la Count proprietà . Se si vuole determinare se l'insieme contiene un determinato MenuItem oggetto, usare il Contains metodo . Per ottenere l'indice di un MenuItem oggetto nell'insieme, usare il IndexOf metodo .

Costruttori

MenuItemCollection()

Inizializza una nuova istanza della classe MenuItemCollection usando i valori predefiniti.

MenuItemCollection(MenuItem)

Inizializza una nuova istanza della classe MenuItemCollection con la voce di menu padre, o proprietario, specificata.

Proprietà

Count

Ottiene il numero delle voci di menu contenute nell'oggetto MenuItemCollection corrente.

IsSynchronized

Ottiene un valore che indica se l'accesso all'oggetto MenuItemCollection è sincronizzato (thread-safe).

Item[Int32]

Ottiene l'oggetto MenuItem in corrispondenza dell'indice specificato nell'oggetto MenuItemCollection corrente.

SyncRoot

Ottiene un oggetto che può essere usato per sincronizzare l'accesso all'oggetto MenuItemCollection.

Metodi

Add(MenuItem)

Aggiunge alla fine dell'oggetto MenuItem corrente l'oggetto MenuItemCollection specificato.

AddAt(Int32, MenuItem)

Inserisce nell'oggetto MenuItem corrente in corrispondenza della posizione di indice specificata l'oggetto MenuItemCollection specificato.

Clear()

Rimuove tutti gli elementi dall'oggetto MenuItemCollection corrente.

Contains(MenuItem)

Determina se l'oggetto MenuItem specificato è incluso nell'insieme.

CopyTo(Array, Int32)

Copia tutti gli elementi dall'oggetto MenuItemCollection a una matrice unidimensionale compatibile Array, a partire dall'indice specificato nella matrice di destinazione.

CopyTo(MenuItem[], Int32)

Copia tutti gli elementi dall'oggetto MenuItemCollection a una matrice unidimensionale compatibile di oggetti MenuItem, a partire dall'indice specificato nella matrice di destinazione.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetEnumerator()

Restituisce un enumeratore che può essere utilizzato per scorrere gli elementi dell'oggetto MenuItemCollection corrente.

GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
IndexOf(MenuItem)

Determina l'indice dell'oggetto MenuItem specificato nell'insieme.

MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
Remove(MenuItem)

Rimuove dall'oggetto MenuItem l'oggetto MenuItemCollection specificato.

RemoveAt(Int32)

Rimuove l'oggetto MenuItem dall'oggetto MenuItemCollection corrente in corrispondenza della posizione di indice specificata.

ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Implementazioni dell'interfaccia esplicita

IStateManager.IsTrackingViewState

Ottiene un valore che indica se l'oggetto MenuItemCollection salva le modifiche apportate al relativo stato di visualizzazione.

IStateManager.LoadViewState(Object)

Carica lo stato di visualizzazione precedentemente salvato dell'oggetto MenuItemCollection.

IStateManager.SaveViewState()

Salva le modifiche apportate allo stato di visualizzazione in un oggetto Object.

IStateManager.TrackViewState()

Indica all'oggetto MenuItemCollection di tenere traccia delle modifiche apportate allo stato di visualizzazione.

Metodi di estensione

Cast<TResult>(IEnumerable)

Esegue il cast degli elementi di un oggetto IEnumerable nel tipo specificato.

OfType<TResult>(IEnumerable)

Filtra gli elementi di un oggetto IEnumerable in base a un tipo specificato.

AsParallel(IEnumerable)

Consente la parallelizzazione di una query.

AsQueryable(IEnumerable)

Converte un oggetto IEnumerable in un oggetto IQueryable.

Si applica a

Vedi anche