Esporta (0) Stampa
Espandi tutto

Classe MenuItemCollection

Rappresenta un insieme di voci di menu in un controllo Menu. Questa classe non può essere ereditata.

Spazio dei nomi: System.Web.UI.WebControls
Assembly: System.Web (in system.web.dll)

public sealed class MenuItemCollection : ICollection, IEnumerable, IStateManager
public final class MenuItemCollection implements ICollection, IEnumerable, 
	IStateManager
public final class MenuItemCollection implements ICollection, IEnumerable, 
	IStateManager
Non applicabile.

La classe MenuItemCollection viene utilizzata per archiviare e gestire un insieme di oggetti MenuItem nel controllo Menu. Il controllo Menu utilizza la classe MenuItemCollection per archiviare le relative voci di menu principale nella proprietà Items. Questo insieme viene utilizzato anche per la proprietà ChildItems di un oggetto MenuItem per archiviare le eventuali voci di sottomenu di una voce di menu.

Mediante la classe MenuItemCollection è possibile accedere in diversi modi agli elementi dell'insieme:

  • Utilizzare l'indicizzatore Item per recuperare direttamente un oggetto MenuItem in corrispondenza di un indice in base zero specifico.

  • Utilizzare il metodo GetEnumerator per creare un enumeratore che può essere utilizzato per scorrere l'insieme.

  • Utilizzare il metodo CopyTo per copiare il contenuto dell'insieme in una matrice.

È possibile gestire a livello di codice un oggetto MenuItemCollection aggiungendo e rimuovendo oggetti MenuItem. Per aggiungere voci di menu all'insieme, utilizzare il metodo Add o AddAt. Per rimuovere nodi dall'insieme, utilizzare il metodo Remove, RemoveAt o Clear.

NotaNota:

Quando il controllo Menu è associato a un'origine dati, negli insiemi Items e ChildItems vengono inseriti automaticamente dati ogni volta che si verifica un'associazione. Qualsiasi modifica agli insiemi tra associazioni andrà perduta. Per mantenere queste modifiche, aggiornare l'origine dati o ricostruire manualmente l'insieme ogni volta che viene effettuata l'associazione.

La classe MenuItemCollection contiene proprietà e metodi che consentono di recuperare informazioni sull'insieme stesso. Per individuare il numero di elementi presenti nell'insieme, utilizzare la proprietà Count. Se si desidera determinare se l'insieme contiene un determinato oggetto MenuItem, utilizzare il metodo Contains. Per ottenere l'indice di un oggetto MenuItem dell'insieme, utilizzare il metodo IndexOf.

ArgomentoPercorso
Procedura dettagliata: controllo del menu a livello di codice di ASP.NETGenerazione di applicazioni Web ASP.NET in Visual Studio
Procedura dettagliata: visualizzazione di un menu in pagine WebGenerazione di applicazioni Web ASP.NET in Visual Studio
Procedura dettagliata: visualizzazione di un menu in pagine WebCompilazione di applicazioni con Visual Web Developer
Procedura dettagliata: controllo del menu a livello di codice di ASP.NETCompilazione di applicazioni Web ASP.NET in Visual Studio
Procedura dettagliata: controllo del menu a livello di codice di ASP.NETCompilazione di applicazioni Web ASP.NET in Visual Studio

Nell'esempio di codice riportato di seguito viene illustrato come inserire dati negli insiemi Items e ChildItems utilizzando 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>


Nell'esempio di codice riportato di seguito viene illustrato come aggiungere a livello di codice un oggetto MenuItem all'insieme ChildItems di una voce di menu principale.


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


System.Object
  System.Web.UI.WebControls.MenuItemCollection

I membri statici pubblici (Shared in Visual Basic) di questo tipo sono validi per le operazioni multithreading. I membri di istanza non sono garantiti come thread safe.

Windows 98, Windows Server 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile per Pocket PC, Windows Mobile per Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

Microsoft .NET Framework 3.0 è supportato in Windows Vista, Microsoft Windows XP SP2 e Windows Server 2003 SP1.

.NET Framework

Supportato in:

Aggiunte alla community

AGGIUNGI
Mostra:
© 2014 Microsoft