3 sur 6 ont trouvé cela utile - Évaluez ce sujet

Vue d'ensemble du contrôle Menu ASP.NET

Le contrôle ASP.NET Menu vous permet de développer des menus qui s'affichent à la fois statiquement et dynamiquement pour vos pages Web ASP.NET. Vous pouvez configurer directement le contenu du contrôle Menu dans le contrôle lui-même, ou spécifier ce contenu en liant le contrôle à une source de données.

Sans écrire de code, vous pouvez contrôler l'apparence, l'orientation et le contenu d'un contrôle ASP.NET Menu. En plus des propriétés visuelles exposées par le contrôle, ce dernier prend en charge l'apparence et le thème des contrôles ASP.NET. Pour plus d'informations sur les apparences et les thèmes, consultez Vue d'ensemble des thèmes et des apparences ASP.NET.

Affichage statique et dynamique

Le contrôle Menu a deux modes d'affichage : statique et dynamique. L'affichage statique signifie que le contrôle Menu est entièrement développé en permanence. La structure entière est visible et un utilisateur peut cliquer sur n'importe laquelle de ses parties. Dans un menu affiché dynamiquement, seules les parties que vous spécifiez sont statiques, tandis que leurs éléments de menu enfants s'affichent lorsque l'utilisateur maintient le pointeur de la souris au-dessus du nœud parent.

Comportement d'affichage statique

Vous pouvez contrôler le comportement d'affichage statique à l'aide de la propriété StaticDisplayLevels du contrôle Menu. La propriété StaticDisplayLevels indique combien de niveaux doivent s'afficher statiquement à partir de la racine du menu. Par exemple, si StaticDisplayLevels a la valeur 3, votre menu sera développé de façon à afficher ses trois premiers niveaux statiquement. Le niveau d'affichage statique minimum est de 1 et le contrôle lèvera une exception si la valeur est 0 ou un nombre négatif.

Comportement d'affichage dynamique

La propriété MaximumDynamicDisplayLevels spécifie combien de niveaux de nœuds de menu apparaissant dynamiquement doivent s'afficher après le niveau d'affichage statique. Par exemple, si votre menu a un niveau statique de 3 et un niveau dynamique de 2, les trois premiers niveaux de votre menu s'afficheront statiquement tandis que les deux niveaux suivants seront dynamiques.

Si MaximumDynamicDisplayLevels a la valeur 0, aucun nœud de menu ne s'affichera dynamiquement. Si MaximumDynamicDisplayLevels a pour valeur un nombre négatif, une exception sera levée.

Définition du contenu du menu

Vous pouvez définir le contenu du contrôle Menu de deux manières : en ajoutant des objets MenuItem (de façon déclarative ou par programme) ou en liant les données du contrôle à une source de données XML.

Ajout manuel d'éléments de menu

Vous pouvez ajouter des éléments de menu au contrôle en les spécifiant dans la propriété Items. La propriété Items est une collection d'objets MenuItem. L'exemple suivant montre le balisage déclaratif d'un contrôle Menu à trois éléments, chacun d'eux ayant deux éléments enfants :

<asp:Menu ID="Menu1" runat="server" StaticDisplayLevels="3">
  <Items>
    <asp:MenuItem Text="File" Value="File">
      <asp:MenuItem Text="New" Value="New"></asp:MenuItem>
      <asp:MenuItem Text="Open" Value="Open"></asp:MenuItem>
    </asp:MenuItem>
    <asp:MenuItem Text="Edit" Value="Edit">
      <asp:MenuItem Text="Copy" Value="Copy"></asp:MenuItem>
      <asp:MenuItem Text="Paste" Value="Paste"></asp:MenuItem>
    </asp:MenuItem>
    <asp:MenuItem Text="View" Value="View">
      <asp:MenuItem Text="Normal" Value="Normal"></asp:MenuItem>
      <asp:MenuItem Text="Preview" Value="Preview"></asp:MenuItem>
    </asp:MenuItem>
  </Items>
</asp:Menu>

Liaison de données à une source de données XML

La liaison à un fichier XML vous permet de contrôler le contenu du menu à travers les modifications apportées au fichier plutôt qu'en utilisant le concepteur. Cela vous permet de mettre à jour l'aspect de la navigation dans votre site sans réviser le contrôle Menu ni modifier le code. Si le contenu de votre site est changeant par nature, vous pouvez utiliser un fichier XML pour l'organiser. Ce fichier peut être injecté dans le contrôle Menu pour veiller à ce que le contenu soit accessible aux utilisateurs du site Web.

Apparence et comportement

Vous pouvez ajuster le comportement du contrôle Menu grâce à ses propriétés. En outre, vous pouvez contrôler le comportement d'affichage dynamique, notamment la durée pendant laquelle un nœud de menu reste visible une fois affiché. Par exemple, pour transformer l'orientation Menu du mode horizontal en vertical, vous pouvez définir la propriété Orientation comme suit :

[Visual Basic]

Menu.Orientation = Orientation.Vertical

[C#]

Menu.Orientation = Orientation.Vertical;

Donner à la propriété la valeur Orientation.Horizontal ramène l'orientation à l'horizontale.

Vous pouvez définir les propriétés du contrôle Menu afin de spécifier sa taille, sa couleur, sa police et d'autres caractéristiques de son apparence. De plus, vous pouvez appliquer des apparences et des thèmes au contrôle Menu.

Style

Chaque niveau de menu prend en charge des propriétés de style. Si aucune propriété de style dynamique n'est définie, ce sont les propriétés de style statiques qui sont utilisées. Si les propriétés de style dynamiques sont définies alors qu'aucune propriété de style statique ne l'est, c'est le rendu par défaut des propriétés de style statiques qui est utilisé. La hiérarchie du style du contrôle Menu est la suivante :

  1. Contrôle

  2. SubMenuStyles

  3. MenuItemStyles

  4. SelectedItemStyles

  5. HoverMenuItemStyles

Ces styles sont fusionnés dans les menus dynamiques et statiques selon la logique suivante :

  • Chaque style est appliqué au type d'action ou d'élément approprié.

  • Tous les styles sont fusionnés dans le style qui les précède dans la hiérarchie, le dernier style s'imposant.

    RemarqueRemarque

    Les menus statiques ne fusionnent jamais et le style dynamique est appliqué si aucun style statique n'est défini.

Minutage d'apparence dynamique

Un des paramètres des menus dynamiques est le temps nécessaire pour que la partie du menu apparaissant dynamiquement disparaisse. Cette valeur est configurable en millisecondes en modifiant la propriété DisappearAfter comme suit :

[Visual Basic]

Menu.DisappearAfter = 1000

[C#]

Menu.DisappearAfter = 1000;

La valeur par défaut est 500 millisecondes. Si la valeur de DisappearAfter est 0, une pause en dehors du contrôle Menu le fait immédiatement disparaître. Attribuer -1 à la valeur indique que le temps de pause doit être infini et que ce n'est qu'en cliquant en dehors du contrôle Menu que la partie dynamique disparaîtra.

Voir aussi

Référence

Menu

Cela vous a-t-il été utile ?
(1500 caractères restants)
Contenu de la communauté Ajouter
Annotations FAQ
Microsoft réalise une enquête en ligne pour recueillir votre opinion sur le site Web de MSDN. Si vous choisissez d’y participer, cette enquête en ligne vous sera présentée lorsque vous quitterez le site Web de MSDN.

Si vous souhaitez y participer,