Cette page vous a-t-elle été utile ?
Votre avis sur ce contenu est important. N'hésitez pas à nous faire part de vos commentaires.
Vous avez d'autres commentaires ?
1500 caractères restants
Exporter (0) Imprimer
Développer tout
Cet article a fait l'objet d'une traduction automatique. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source

MenuItemBinding, classe

Définit la relation entre un élément de données et l'élément de menu auquel il est lié dans un contrôle Menu. Cette classe ne peut pas être héritée.

System.Object
  System.Web.UI.WebControls.MenuItemBinding

Espace de noms :  System.Web.UI.WebControls
Assembly :  System.Web (dans System.Web.dll)

public sealed class MenuItemBinding : IStateManager, 
	ICloneable, IDataSourceViewSchemaAccessor

Le type MenuItemBinding expose les membres suivants.

  NomDescription
Méthode publiqueMenuItemBindingInitialise une nouvelle instance de la classe MenuItemBinding.
Début

  NomDescription
Propriété publiqueDataMemberObtient ou définit la donnée membre à lier à un élément de menu.
Propriété publiqueDepthObtient ou définit la profondeur de menu à laquelle l'objet MenuItemBinding est appliqué.
Propriété publiqueEnabledObtient ou définit une valeur qui indique si l'élément de menu auquel l'objet MenuItemBinding est appliqué est activé, ce qui permet à l'élément d'afficher une image contextuelle et tous les éléments de menu enfants.
Propriété publiqueEnabledFieldObtient ou définit le nom du champ de la source de données à lier à la propriété Enabled d'un objet MenuItem auquel l'objet MenuItemBinding est appliqué.
Propriété publiqueFormatStringObtient ou définit la chaîne qui spécifie le format d'affichage du texte d'un élément de menu auquel l'objet MenuItemBinding est appliqué.
Propriété publiqueImageUrlObtient ou définit l'URL d'une image qui est affichée près du texte d'un élément de menu auquel l'objet MenuItemBinding est appliqué.
Propriété publiqueImageUrlFieldObtient ou définit le nom du champ de la source de données à lier à la propriété ImageUrl d'un objet MenuItem auquel l'objet MenuItemBinding est appliqué.
Propriété publiqueNavigateUrlObtient ou définit l'URL vers laquelle effectuer le lien lorsqu'un clic est effectué sur un élément de menu auquel l'objet MenuItemBinding est appliqué.
Propriété publiqueNavigateUrlFieldObtient ou définit le nom du champ de la source de données à lier à la propriété NavigateUrl d'un objet MenuItem auquel l'objet MenuItemBinding est appliqué.
Propriété publiquePopOutImageUrlObtient ou définit l'URL d'une image qui indique la présence d'un sous-menu dynamique pour un élément de menu auquel l'objet MenuItemBinding est appliqué.
Propriété publiquePopOutImageUrlFieldObtient ou définit le nom du champ de la source de données à lier à la propriété PopOutImageUrl d'un objet MenuItem auquel l'objet MenuItemBinding est appliqué.
Propriété publiqueSelectableObtient ou définit une valeur qui indique si l'élément de menu auquel l'objet MenuItemBinding est appliqué peut être sélectionné, ou s'il est « interactif ».
Propriété publiqueSelectableFieldObtient ou définit le nom du champ de la source de données à lier à la propriété Selectable d'un objet MenuItem auquel l'objet MenuItemBinding est appliqué.
Propriété publiqueSeparatorImageUrlObtient ou définit l'URL d'une image affichée au-dessous du texte d'un élément de menu (pour le séparer d'autres éléments de menu) pour un élément de menu auquel l'objet MenuItemBinding est appliqué.
Propriété publiqueSeparatorImageUrlFieldObtient ou définit le nom du champ de la source de données à lier à la propriété SeparatorImageUrl d'un objet MenuItem auquel l'objet MenuItemBinding est appliqué.
Propriété publiqueTargetObtient ou définit la fenêtre ou frame cible dans lequel afficher le contenu de la page Web associée à un élément de menu auquel l'objet MenuItemBinding est appliqué.
Propriété publiqueTargetFieldObtient ou définit le nom du champ de la source de données à lier à la propriété Target d'un objet MenuItem auquel l'objet MenuItemBinding est appliqué.
Propriété publiqueTextObtient ou définit le texte affiché de l'élément de menu auquel l'objet MenuItemBinding est appliqué.
Propriété publiqueTextFieldObtient ou définit le nom du champ de la source de données à lier à la propriété Text d'un objet MenuItem auquel l'objet MenuItemBinding est appliqué.
Propriété publiqueToolTipObtient ou définit le texte info-bulle d'un l'élément de menu auquel l'objet MenuItemBinding est appliqué.
Propriété publiqueToolTipFieldObtient ou définit le nom du champ de la source de données à lier à la propriété ToolTip d'un objet MenuItem auquel l'objet MenuItemBinding est appliqué.
Propriété publiqueValueObtient ou définit une valeur non affichée utilisée pour stocker des données supplémentaires relatives à un élément de menu auquel l'objet MenuItemBinding est appliqué, telles que les données utilisées pour gérer les événements de publication (postback).
Propriété publiqueValueFieldObtient ou définit le nom du champ de la source de données à lier à la propriété Value d'un objet MenuItem auquel l'objet MenuItemBinding est appliqué.
Début

  NomDescription
Méthode publiqueEquals(Object)Détermine si l'objet spécifié est identique à l'objet actuel. (Hérité de Object.)
Méthode publiqueGetHashCodeSert de fonction de hachage par défaut. (Hérité de Object.)
Méthode publiqueGetTypeObtient le Type de l'instance actuelle. (Hérité de Object.)
Méthode publiqueToStringRetourne une chaîne qui représente l'objet MenuItemBinding. (Substitue Object.ToString().)
Début

  NomDescription
Implémentation d'interface expliciteMéthode privéeICloneable.CloneInfrastructure. Crée une copie de l'objet MenuItemBinding.
Implémentation d'interface explicitePropriété privéeIDataSourceViewSchemaAccessor.DataSourceViewSchemaPour obtenir une description de ce membre, consultez DataSourceViewSchema.
Implémentation d'interface explicitePropriété privéeIStateManager.IsTrackingViewStateInfrastructure. Obtient une valeur qui indique si l'objet MenuItemBinding enregistre les modifications apportées à son état d'affichage.
Implémentation d'interface expliciteMéthode privéeIStateManager.LoadViewStateCharge l'état d'affichage précédemment enregistré du nœud.
Implémentation d'interface expliciteMéthode privéeIStateManager.SaveViewStateInfrastructure. Enregistre les modifications d'état d'affichage apportées à un Object.
Implémentation d'interface expliciteMéthode privéeIStateManager.TrackViewStateInfrastructure. Indique à l'objet MenuItemBinding d'assurer le suivi des modifications de son état d'affichage.
Début

Lorsque le contrôle Menu est lié à une source de données où chaque élément de données contient plusieurs champs (tel qu'un élément XML avec plusieurs attributs), si aucune liaison d'élément de menu n'est définie, un élément de menu affiche la valeur retournée par la méthode ToString() de l'élément de données par défaut. Dans le cas d'un élément XML, l'élément de menu affiche le nom de l'élément, lequel affiche la structure sous-jacente du menu, mais n'est pas pour autant très utile. Vous pouvez lier les propriétés d'un élément de menu à un champ spécifique en spécifiant des liaisons d'élément de menu. Un objet MenuItemBinding définit la relation entre chaque élément de données et l'élément de menu auquel il est lié.

RemarqueRemarque

Lorsque le contrôle Menu est lié à un contrôle SiteMapDataSource, les liaisons d'élément de menu n'ont aucun effet. La liaison est effectuée automatiquement à l'aide du fournisseur de plan de site.

Le contrôle Menu stocke ses objets MenuItemBinding dans la propriété DataBindings et applique les liaisons à la source de données afin de créer une relation un-à-un entre la hiérarchie de menus et la hiérarchie des sources de données. Pour chaque élément de données de la source de données, le contrôle Menu tente de faire correspondre l'élément de données à un objet MenuItemBinding afin de créer l'objet MenuItem correspondant.

Lorsque vous créez un objet MenuItemBinding, vous devez spécifier les critères de liaison. Les critères indiquent à quel moment un élément de données doit être lié à un élément de menu. Vous pouvez spécifier Depth, DataMember ou les deux.

Une profondeur de l'élément de menu spécifie le niveau de menu qui est lié. Par exemple, la déclaration MenuItemBinding suivante lie les champs ID et Nom de la source de données aux propriétés Text et Value, respectivement, de tous les nœuds d'une profondeur de 0 :

<asp:MenuItemBinding Depth="0" TextField="Name" ValueField="ID">

Une donnée membre spécifie le type de l'élément de données dans la source de données sous-jacente, mais peut également représenter des informations différentes selon la source de données. Chaque élément de données dans une source de données hiérarchique (représenté par un objet IHierarchyData) expose une propriété Type qui spécifie le type de l'élément de données. Par exemple, la donnée membre d'un élément XML spécifie le nom de l'élément. Lorsqu'une source de données contient plusieurs types d'éléments de données, les données membres spécifient le type d'élément de données à utiliser. La déclaration MenuItemBinding suivante lie les éléments <Book> d'un contrôle XmlDataSource à tous les éléments de menu dans le menu, indépendamment de l'emplacement dans la hiérarchie :

<asp:MenuItemBinding DataMember="Book" TextField="Title" ValueField= "ISBN">

Parfois vous pouvez avoir à créer une liaison d'élément de menu qui spécifie à la fois une profondeur et une donnée membre. Cette tâche est souvent utilisée lorsque la source de données contient des éléments à différents niveaux qui ont la même valeur de donnée membre. Par exemple, vous pouvez avoir des éléments <Item> qui apparaissent à des niveaux différents dans un fichier XML. Les déclarations MenuItemBinding suivantes indiquent comment spécifier des liaisons d'élément de menu qui s'appliquent à des données membres identiques à des profondeurs de menu différentes :

<asp:MenuItemBinding DataMember="Item" Depth="1" TextField="Title">

<asp:MenuItemBinding DataMember="Item" Depth="2" TextField="ISBN">

Si une liaison d'élément de menu est définie sans profondeur et sans donnée membre, la liaison d'élément de menu est appliquée à tous les éléments de menu dans le menu. Cela est généralement utilisé lorsque tous les éléments de données ont les mêmes propriétés et doivent être affichés de la même manière, indépendamment de la profondeur de menu.

Une fois les critères de liaison établis, vous pouvez ensuite lier une propriété d'un objet MenuItem qui peut être lié à une valeur. Vous pouvez lier à un champ d'un élément de données ou à une valeur statique. Lorsqu'ils sont liés à une valeur statique, tous les objets MenuItem auxquels l'objet MenuItemBinding est appliqué partagent la même valeur. Les propriétés liées aux champs contiennent les valeurs du champ correspondant de la source de données.

RemarqueRemarque

Vous pouvez substituer sélectivement une propriété liée dans un objet MenuItem en définissant la propriété correspondante directement.

Le tableau suivant répertorie les propriétés de la classe MenuItemBinding qui vous permet de lier une propriété de l'objet MenuItem à un champ d'un élément de données.

Propriété

Description

ImageUrlField

Champ à lier à la propriété ImageUrl d'un objet MenuItem.

NavigateUrlField

Champ à lier à la propriété NavigateUrl d'un objet MenuItem.

TextField

Champ à lier à la propriété Text d'un objet MenuItem.

ToolTipField

Champ à lier à la propriété ToolTip d'un objet MenuItem.

ValueField

Champ à lier à la propriété Value d'un objet MenuItem.

Le tableau suivant répertorie les propriétés de la classe MenuItemBinding qui vous permet de lier une propriété de l'objet MenuItem à une valeur statique.

Propriété

Description

ImageUrl

Valeur statique à lier à la propriété ImageUrl d'un objet MenuItem.

NavigateUrl

Valeur statique à lier à la propriété NavigateUrl d'un objet MenuItem.

Target

Valeur statique à lier à la propriété Target d'un objet MenuItem.

Text

Valeur statique à lier à la propriété Text d'un objet MenuItem.

ToolTip

Valeur statique à lier à la propriété ToolTip d'un objet MenuItem.

Value

Valeur statique à lier à la propriété Value d'un objet MenuItem.

Si les objets MenuItemBinding en conflit sont définis, le contrôle Menu applique les liaisons d'élément de menu dans l'ordre de priorité suivant :

  1. Objet MenuItemBinding qui définit et correspond une profondeur et une donnée membre.

  2. Objet MenuItemBinding qui définit et correspond à la donnée membre uniquement.

  3. Objet MenuItemBinding qui définit et correspond à la profondeur uniquement.

  4. Objet MenuItemBinding qui ne définit ni la profondeur, ni les données membres. (Ce type de liaison d'élément de menu est appliqué à tous les éléments de menu dans le menu.)

  5. Objet MenuItemBinding qui n'a pas de correspondance dans la source de données. Dans ce cas, la valeur retournée par la méthode ToString() de l'élément de données est ensuite liée aux propriétés Text et Value des éléments de menu auxquels l'objet MenuItemBinding est appliqué.

La classe MenuItemBinding vous permet également de mettre en forme le texte affiché dans un élément de menu en définissant la propriété FormatString.

TopicLocation
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 : affichage d'un menu sur des pages WebGénération d'applications à l'aide de Visual Web Developer
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

L'exemple de code suivant illustre comment utiliser des objets MenuItemBinding pour définir la relation entre les champs d'un contrôle XmlDataSource et les éléments de menu d'un contrôle Menu. Pour que cet exemple fonctionne, vous devez copier l'exemple de données XML ci-dessous dans un fichier nommé Menu.xml.



<%@ 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" >
  <head runat="server">
    <title>MenuItemBinding Example</title>
</head>
<body>
    <form id="form1" runat="server">

      <h3>MenuItemBinding Example</h3>

      <asp:menu id="NavigationMenu"
        datasourceid="MenuSource"
        runat="server">

        <DataBindings>

          <asp:menuitembinding datamember="MapHomeNode"
            formatstring="({0})" 
            textfield="Title"
            valuefield="Description"
            imageurlfield="ImageUrl"
            tooltipfield="ToolTip"
            target="_self" />
          <asp:menuitembinding datamember="MapNode" 
            depth="1"
            formatstring="[{0}]" 
            textfield="Title"
            valuefield="Description"
            imageurlfield="ImageUrl"
            tooltipfield="ToolTip"
            target="_blank"/>
          <asp:menuitembinding datamember="MapNode" 
            depth="2"
            formatstring="<{0}>" 
            textfield="Title"
            valuefield="Description"
            imageurlfield="ImageUrl"
            tooltipfield="ToolTip"
            target="_blank"/>

        </DataBindings>

      </asp:menu>

      <asp:xmldatasource id="MenuSource"
        datafile="Menu.xml"
        runat="server"/> 

    </form>
  </body>
</html>



Le code suivant est un exemple de données de plan de site de l'exemple précédent.

<MapHomeNode ImageUrl="~\Images\Home.gif"

Title="Home"

Description="Root Page"

ToolTip="Home Page">

<MapNode ImageUrl="~\Images\Music.gif"

Title="Music"

Description="Music Category"

ToolTip="Music Page">

<MapNode ImageUrl="~\Images\Classical.gif"

Title="Classical"

Description="Classical Section"

ToolTip="Classical Page"/>

<MapNode ImageUrl="~\Images\Rock.gif"

Title="Rock"

Description="Rock Section"

ToolTip="Rock Page"/>

<MapNode ImageUrl="~\Images\Jazz.gif"

Title="Jazz"

Description="Jazz Section"

ToolTip="Jazz Page"/>

</MapNode>

<MapNode ImageUrl="~\Images\Movies.gif"

Title="Movies"

Description="Movies Category"

ToolTip="Movies Page">

<MapNode ImageUrl="~\Images\Action.gif"

Title="Action"

Description="Action Section"

ToolTip="Action Page"/>

<MapNode ImageUrl="~\Images\Drama.gif"

Title="Drama"

Description="Drama Section"

ToolTip="Drama Page"/>

<MapNode ImageUrl="~\Images\Musical.gif"

Title="Musical"

Description="Musical Section"

ToolTip="Musical Page"/>

</MapNode>

</MapHomeNode>

.NET Framework

Pris en charge dans : 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (rôle principal du serveur non pris en charge), Windows Server 2008 R2 (rôle principal du serveur pris en charge avec SP1 ou version ultérieure ; Itanium non pris en charge)

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

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

Ajouts de la communauté

AJOUTER
Afficher:
© 2015 Microsoft