Exporter (0) Imprimer
Développer tout

MenuItemCollection, classe

Remarque : cette classe est nouvelle dans le .NET Framework version 2.0.

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

Espace de noms : System.Web.UI.WebControls
Assembly : System.Web (dans 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

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

La classe MenuItemCollection prend en charge plusieurs modes d'accès aux éléments de la collection :

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

  • Utilisez la méthode GetEnumerator afin de créer un énumérateur pouvant être utilisé pour parcourir la collection.

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

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

RemarqueRemarque

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

La classe MenuItemCollection contient des propriétés et des méthodes qui vous permettent de récupérer des informations sur la collection proprement dite. Pour déterminer le nombre d'éléments contenus dans la collection, utilisez la propriété Count. Pour déterminer si la collection contient un certain objet MenuItem, utilisez la méthode Contains. Pour obtenir l'index d'un objet MenuItem dans la collection, utilisez la méthode IndexOf.

RubriqueEmplacement
Procédure pas à pas : affichage d'un menu sur des pages WebGénération d'applications Web ASP.NET dans Visual Studio
Procédure pas à pas : contrôle des menus ASP.NET par programmeGénération d'applications Web ASP.NET dans Visual Studio
Procédure pas à pas : contrôle des menus ASP.NET par programmeGénération d'applications Web ASP.NET dans Visual Studio
Procédure pas à pas : affichage d'un menu sur des pages WebGénération d'applications à l'aide de Visual Web Developer

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


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

<html>

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

  <body>
    <form 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 programme un objet MenuItem à la collection ChildItems d'un élément de menu racine.


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

<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>
  <body>
    <form 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>


  • AspNetHostingPermission  pour opérer dans un environnement hébergé. Valeur de demande : LinkDemand ; valeur d'autorisation : Minimal
  • AspNetHostingPermission  pour opérer dans un environnement hébergé. Valeur de demande : InheritanceDemand ; valeur d'autorisation : Minimal

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

Les membres statiques publics (Shared en Visual Basic) de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Édition Media Center, Windows XP Professionnel Édition x64, Windows XP SP2, Windows XP Starter Edition

Le .NET Framework ne prend pas en charge toutes les versions de chaque plate-forme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise.

.NET Framework

Prise en charge dans : 2.0

Ajouts de la communauté

AJOUTER
Afficher:
© 2014 Microsoft