Partager via


MenuItemBinding.DataMember Propriété

Définition

Obtient ou définit la donnée membre à lier à un élément de menu.

public:
 property System::String ^ DataMember { System::String ^ get(); void set(System::String ^ value); };
public string DataMember { get; set; }
member this.DataMember : string with get, set
Public Property DataMember As String

Valeur de propriété

String

La donnée membre à lier à un élément de menu. La valeur par défaut est une chaîne vide (""), ce qui signifie que cette propriété n'est pas définie.

Exemples

L’exemple de code suivant montre comment utiliser la DataMember propriété pour spécifier l’élément XML à lier aux éléments de menu d’un Menu contrôle. Pour que cet exemple fonctionne correctement, vous devez copier les exemples de données XML ci-dessous dans un fichier nommé MenuDataMember.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 DataMember Example</title>
</head>
<body>
    <form id="form1" runat="server">

      <h3>MenuItemBinding DataMember Example</h3>

      <asp:menu id="NavigationMenu"
        datasourceid="MenuSource"
        runat="server">
        
        <databindings>
        
          <asp:menuitembinding datamember="MapNodeHome"
            textfield="Title"
            valuefield="Description"
            imageurlfield="ImageUrl"
            tooltipfield="ToolTip"
            target="_self" />
          <asp:menuitembinding datamember="MapNodeCategory"
            textfield="Title"
            valuefield="Description"
            imageurlfield="ImageUrl"
            tooltipfield="ToolTip"
            target="_blank"/>
          <asp:menuitembinding datamember="MapNodeSection"
            textfield="Title"
            valuefield="Description"
            imageurlfield="ImageUrl"
            tooltipfield="ToolTip"
            target="_blank"/>
          
        </databindings>
        
      </asp:menu>

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

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

      <h3>MenuItemBinding DataMember Example</h3>

      <asp:menu id="NavigationMenu"
        datasourceid="MenuSource"
        runat="server">
        
        <databindings>
        
          <asp:menuitembinding datamember="MapNodeHome"
            textfield="Title"
            valuefield="Description"
            imageurlfield="ImageUrl"
            tooltipfield="ToolTip"
            target="_self" />
          <asp:menuitembinding datamember="MapNodeCategory"
            textfield="Title"
            valuefield="Description"
            imageurlfield="ImageUrl"
            tooltipfield="ToolTip"
            target="_blank"/>
          <asp:menuitembinding datamember="MapNodeSection"
            textfield="Title"
            valuefield="Description"
            imageurlfield="ImageUrl"
            tooltipfield="ToolTip"
            target="_blank"/>
          
        </databindings>
        
      </asp:menu>

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

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

Le code suivant est un exemple de données de carte de site pour l’exemple précédent.

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

Title="Home"

Description="Root Page"

ToolTip="Home Page">

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

Title="Music"

Description="Music Category"

ToolTip="Music Page">

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

Title="Classical"

Description="Classical Section"

ToolTip="Classical Page"/>

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

Title="Rock"

Description="Rock Section"

ToolTip="Rock Page"/>

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

Title="Jazz"

Description="Jazz Section"

ToolTip="Jazz Page"/>

</MapNodeCategory>

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

Title="Movies"

Description="Movies Category"

ToolTip="Movies Page">

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

Title="Action"

Description="Action Section"

ToolTip="Action Page"/>

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

Title="Drama"

Description="Drama Section"

ToolTip="Drama Page"/>

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

Title="Musical"

Description="Musical Section"

ToolTip="Musical Page"/>

</MapNodeCategory>

</MapNodeHome>

Remarques

Lors de la création d’un MenuItemBinding objet, vous devez spécifier les critères de liaison. Les critères indiquent quand un élément de données doit être lié à un élément de menu. Vous pouvez spécifier la Depth propriété, la DataMember propriété ou les deux.

Lorsque la source de données contient plusieurs éléments ou tables, utilisez la propriété pour spécifier l’élément ou la DataMember table à lier à un élément de menu. Un membre de données spécifie le type de l’élément de données dans la source de données sous-jacente, mais peut représenter différentes informations en fonction de la source de données. Chaque élément de données d’une source de données hiérarchique (représentée par un System.Web.UI.IHierarchyData objet) expose une IHierarchyData.Type propriété, qui spécifie le type de l’élément de données. Par exemple, le membre de données d’un élément XML spécifie le nom de l’élément. La déclaration suivante MenuItemBinding lie les <Book> éléments d’un XmlDataSource contrôle à tous les éléments de menu du menu, quel que soit l’emplacement de la hiérarchie :

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

Parfois, vous devrez peut-être créer une liaison d’élément de menu qui spécifie à la fois une profondeur et un membre de données. Cela est souvent utilisé lorsque la source de données contient des éléments à différents niveaux qui ont la même valeur de membre de données. Par exemple, vous pouvez avoir <Item> des éléments qui apparaissent à différents niveaux au sein d’un fichier XML. Les déclarations suivantes MenuItemBinding montrent comment spécifier des liaisons d’éléments de menu qui s’appliquent aux membres de données identiques à différentes profondeurs de menu :

<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 ni membre de données, la liaison d’élément de menu est appliquée à tous les éléments de menu du menu. Cela est couramment utilisé lorsque tous les éléments de données ont les mêmes propriétés et doivent être affichés de manière identique, quelle que soit la profondeur du menu.

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

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

  1. Objet MenuItemBinding qui définit et correspond à la fois à une profondeur et à un membre de données.

  2. Objet MenuItemBinding qui définit et correspond uniquement au membre de données.

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

  4. Objet MenuItemBinding qui ne définit ni la profondeur ni le membre de données. (Ce type de liaison d’élément de menu est appliqué à tous les éléments de menu du 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 ToString() méthode de l’élément de données est ensuite liée aux propriétés et Value aux Text propriétés des éléments de menu auxquels l’objet MenuItemBinding est appliqué.

S’applique à

Voir aussi