Menu.DataBindings Propriété

Définition

Obtient une collection d’objets MenuItemBinding qui définissent la relation entre un élément de données et l’élément de menu auquel il est lié.

public:
 property System::Web::UI::WebControls::MenuItemBindingCollection ^ DataBindings { System::Web::UI::WebControls::MenuItemBindingCollection ^ get(); };
[System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)]
public System.Web.UI.WebControls.MenuItemBindingCollection DataBindings { get; }
[<System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)>]
member this.DataBindings : System.Web.UI.WebControls.MenuItemBindingCollection
Public ReadOnly Property DataBindings As MenuItemBindingCollection

Valeur de propriété

MenuItemBindingCollection qui représente la relation entre un élément de données et l'élément de menu auquel il est lié.

Attributs

Exemples

L’exemple de code suivant montre comment utiliser la DataBindings collection pour définir la relation entre les champs d’un XmlDataSource contrôle et les é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é Map.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>Menu DataBindings Example</title>
</head>
<body>
    <form id="form1" runat="server">
    
      <h3>Menu DataBindings Example</h3>
    
      <asp:menu id="NavigationMenu"
        staticdisplaylevels="1"
        staticsubmenuindent="10" 
        orientation="Vertical"
        target="_blank"
        datasourceid="MenuSource"
        runat="server">
        
       <DataBindings>
        
          <asp:menuitembinding datamember="MapHomeNode" 
            depth="0"
            textfield="title" 
            navigateurlfield="url"/>
          <asp:menuitembinding datamember="MapNode" 
            depth="1"
            textfield="title" 
            navigateurlfield="url"/>
          <asp:menuitembinding datamember="MapNode" 
            depth="2"
            textfield="title" 
            navigateurlfield="url"/>
        </DataBindings>
        
      </asp:menu>
      
      <asp:XmlDataSource id="MenuSource"
        datafile="Map.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>Menu DataBindings Example</title>
</head>
<body>
    <form id="form1" runat="server">
    
      <h3>Menu DataBindings Example</h3>
    
      <asp:menu id="NavigationMenu"
        staticdisplaylevels="1"
        staticsubmenuindent="10" 
        orientation="Vertical"
        target="_blank"
        datasourceid="MenuSource"
        runat="server">
        
        <DataBindings>
          <asp:menuitembinding datamember="MapHomeNode" 
            depth="0"
            textfield="title" 
            navigateurlfield="url"/>
          <asp:menuitembinding datamember="MapNode" 
            depth="1"
            textfield="title" 
            navigateurlfield="url"/>
          <asp:menuitembinding datamember="MapNode" 
            depth="2"
            textfield="title" 
            navigateurlfield="url"/>
        </DataBindings>
        
      </asp:menu>
      
      <asp:XmlDataSource id="MenuSource"
        datafile="Map.xml"
        runat="server"/>        

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

Voici des exemples de données de plan de site pour l’exemple précédent.

<MapHomeNode url="~\Home.aspx"   
  title="Home"  
  description="Home">  
  <MapNode url="~\Music.aspx"  
    title="Music"  
    description="Music">  
    <MapNode url="~\Classical.aspx"   
      title="Classical"  
      description="Classical"/>  
    <MapNode url="~\Rock.aspx"  
      title="Rock"  
      description="Rock"/>  
    <MapNode url="~\Jazz.aspx"  
      title="Jazz"  
      description="Jazz"/>  
  </MapNode>  
  <MapNode url="~\Movies.aspx"  
    title="Movies"  
    description="Movies">  
    <MapNode url="~\Action.aspx"  
      title="Action"  
      description="Action"/>  
    <MapNode url="~\Drama.aspx"  
      title="Drama"  
      description="Drama"/>  
    <MapNode url="~\Musical.aspx"  
      title="Musical"  
      description="Musical"/>  
  </MapNode>  
</MapHomeNode>  

Remarques

La DataBindings collection contient des MenuItemBinding objets qui définissent la relation entre un élément de données et l’élément de menu auquel il est lié. Lors de la liaison à une source de données où chaque élément de données contient plusieurs propriétés (par exemple, un élément XML avec plusieurs attributs), un élément de menu affiche la valeur retournée par la ToString() méthode 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, qui indique la structure sous-jacente de l’arborescence, mais n’est pas très utile dans le cas contraire. Vous pouvez lier un élément de menu à une propriété d’élément de données spécifique en spécifiant des liaisons d’élément de menu.

Lorsque vous définissez la relation entre un élément de données et un élément de menu, vous devez spécifier à la fois les critères de liaison et la propriété d’un élément de données à lier. Les critères indiquent quand un élément de données doit être lié à un élément de menu. Les critères peuvent être spécifiés avec une profondeur, un membre de données ou les deux. La profondeur spécifie le niveau de menu qui est lié. Par exemple, si vous spécifiez une profondeur de 0, tous les éléments de menu de l’arborescence au niveau 0 sont liés à l’aide de la liaison d’é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 des informations différentes en fonction de la source de données. Par exemple, le membre de données d’un élément XML spécifie le nom de l’élément.

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

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

  2. Objet MenuItemBinding qui définit uniquement la profondeur.

  3. Objet MenuItemBinding qui définit uniquement le membre de données.

  4. Objet MenuItemBinding qui ne définit ni la profondeur ni le membre de données.

Une fois les critères de liaison établis, vous pouvez lier une propriété d’un MenuItem objet qui peut être lié à un attribut ou un champ d’un élément de données. Par exemple, vous pouvez lier la Text propriété d’un élément de menu à l’attribut text sur un élément XML en définissant la TextField propriété d’un MenuItemBinding objet. Vous pouvez également établir une liaison à une valeur statique. Si vous définissez la Text propriété d’un MenuItemBinding objet, tous les éléments de menu auxquels l’objet MenuItemBinding est appliqué partagent la même valeur de texte statique. Pour plus d’informations sur la liaison des propriétés d’un MenuItem objet à une valeur, consultez MenuItemBinding.

Bien que la DataBindings collection puisse être remplie par programmation, elle est généralement définie de manière déclarative. Pour spécifier les liaisons d’éléments de menu, imbriquez d’abord les balises d’ouverture et de fermeture <DataBindings> entre les balises d’ouverture et de fermeture du Menu contrôle. Ensuite, placez <asp:MenuItemBinding> les éléments entre les balises d’ouverture et de fermeture <DataBindings> pour chaque liaison d’élément de menu que vous souhaitez spécifier.

S’applique à

Voir aussi