Share via


MenuItemCollection Classe

Définition

Représente une collection d’éléments de menu dans un contrôle Menu. Cette classe ne peut pas être héritée.

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
Héritage
MenuItemCollection
Implémente

Exemples

L’exemple de code suivant montre comment remplir les collections et ChildItems les remplir à l’aide Items d’une syntaxe déclarative.


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

L’exemple de code suivant montre comment ajouter par programmation un MenuItem objet à la ChildItems collection d’un élément de menu racine.


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

Remarques

La MenuItemCollection classe est utilisée pour stocker et gérer une collection d’objets MenuItem dans le Menu contrôle. Le Menu contrôle utilise la MenuItemCollection classe pour stocker ses éléments de menu racine dans la Items propriété. Cette collection est également utilisée pour la ChildItems propriété d’un MenuItem objet afin de stocker les éléments de sous-menu d’un élément de menu (le cas échéant).

La MenuItemCollection classe prend en charge plusieurs façons d’accéder aux éléments de la collection :

  • Utilisez l’indexeur Item[] pour récupérer directement un MenuItem objet à un index de base zéro spécifique.

  • Utilisez la GetEnumerator méthode pour créer un énumérateur qui peut être utilisé pour itérer au sein de la collection.

  • Utilisez la CopyTo méthode pour copier le contenu de la collection dans un tableau.

Vous pouvez gérer un MenuItemCollection objet par programmation en ajoutant et en supprimant des MenuItem objets. Pour ajouter des éléments de menu à la collection, utilisez la Add méthode ou la AddAt méthode. Pour supprimer des nœuds de la collection, utilisez le Remove, le RemoveAtou la Clear méthode.

Notes

Lorsque le Menu contrôle est lié à une source de données, les collections et ChildItems les Items collections sont automatiquement remplies chaque fois que la liaison se produit. Toutes les modifications apportées aux collections entre les liaisons seront perdues. Pour conserver ces modifications, mettez à jour la source de données ou régénérez manuellement la collection chaque fois que vous liez.

La MenuItemCollection classe contient des propriétés et des méthodes qui vous permettent de récupérer des informations sur la collection elle-même. Pour savoir combien d’éléments se trouvent dans la collection, utilisez la Count propriété. Si vous souhaitez déterminer si la collection contient un certain MenuItem objet, utilisez la Contains méthode. Pour obtenir l’index d’un MenuItem objet dans la collection, utilisez la IndexOf méthode.

Constructeurs

MenuItemCollection()

Initialise une nouvelle instance de la classe MenuItemCollection en utilisant les valeurs par défaut.

MenuItemCollection(MenuItem)

Initialise une nouvelle instance de la classe MenuItemCollection à l'aide de l'élément de menu parent (ou propriétaire) spécifié.

Propriétés

Count

Obtient le nombre d'éléments de menu contenus dans l'objet MenuItemCollection en cours.

IsSynchronized

Obtient une valeur indiquant si l’accès à l’objet MenuItemCollection est synchronisé (thread-safe).

Item[Int32]

Obtient l'objet MenuItem à l'index spécifié dans l'objet MenuItemCollection en cours.

SyncRoot

Obtient un objet qui peut être utilisé pour synchroniser l’accès à l’objet MenuItemCollection.

Méthodes

Add(MenuItem)

Ajoute l'objet MenuItem spécifié à la fin de l'objet MenuItemCollection en cours.

AddAt(Int32, MenuItem)

Insère l'objet MenuItem spécifié dans l'objet MenuItemCollection en cours à l'emplacement d'index spécifié.

Clear()

Supprime tous les éléments de l'objet MenuItemCollection en cours.

Contains(MenuItem)

Détermine si l'objet MenuItem spécifié se trouve dans la collection.

CopyTo(Array, Int32)

Copie tous les éléments de l'objet MenuItemCollection dans un tableau Array compatible unidimensionnel, en commençant à l'index spécifié dans le tableau cible.

CopyTo(MenuItem[], Int32)

Copie tous les éléments de l'objet MenuItemCollection dans un tableau d'objets MenuItem compatible unidimensionnel, en commençant à l'index spécifié dans le tableau cible.

Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.

(Hérité de Object)
GetEnumerator()

Retourne un énumérateur qui peut être utilisé pour itérer au sein des éléments de l'objet MenuItemCollection en cours.

GetHashCode()

Fait office de fonction de hachage par défaut.

(Hérité de Object)
GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
IndexOf(MenuItem)

Détermine l'index de l'objet MenuItem spécifié dans la collection.

MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
Remove(MenuItem)

Supprime l'objet MenuItem spécifié de l'objet MenuItemCollection.

RemoveAt(Int32)

Supprime l'objet MenuItem à l'emplacement d'index spécifié de l'objet MenuItemCollection en cours.

ToString()

Retourne une chaîne qui représente l'objet actuel.

(Hérité de Object)

Implémentations d’interfaces explicites

IStateManager.IsTrackingViewState

Obtient une valeur qui indique si l'objet MenuItemCollection enregistre les modifications apportées à son état d'affichage.

IStateManager.LoadViewState(Object)

Charge l'état d'affichage précédemment enregistré de l'objet MenuItemCollection.

IStateManager.SaveViewState()

Enregistre les modifications apportées à l'état d'affichage dans Object.

IStateManager.TrackViewState()

Demande à l’objet MenuItemCollection d'assurer le suivi des modifications apportées à son état d'affichage.

Méthodes d’extension

Cast<TResult>(IEnumerable)

Effectue un cast des éléments d'un IEnumerable vers le type spécifié.

OfType<TResult>(IEnumerable)

Filtre les éléments d'un IEnumerable en fonction du type spécifié.

AsParallel(IEnumerable)

Active la parallélisation d'une requête.

AsQueryable(IEnumerable)

Convertit un IEnumerable en IQueryable.

S’applique à

Voir aussi