Partager via


MenuItemBinding.Depth Propriété

Définition

Obtient ou définit la profondeur de menu à laquelle l’objet MenuItemBinding est appliqué.

public:
 property int Depth { int get(); void set(int value); };
[System.ComponentModel.TypeConverter("System.Web.UI.Design.WebControls.TreeNodeBindingDepthConverter, System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
public int Depth { get; set; }
[System.ComponentModel.TypeConverter("System.Web.UI.Design.WebControls.TreeNodeBindingDepthConverter, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
public int Depth { get; set; }
[<System.ComponentModel.TypeConverter("System.Web.UI.Design.WebControls.TreeNodeBindingDepthConverter, System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")>]
member this.Depth : int with get, set
[<System.ComponentModel.TypeConverter("System.Web.UI.Design.WebControls.TreeNodeBindingDepthConverter, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")>]
member this.Depth : int with get, set
Public Property Depth As Integer

Valeur de propriété

Profondeur du menu à laquelle l’application MenuItemBinding est appliquée. La valeur par défaut est -1, ce qui indique que cette propriété n’est pas définie.

Attributs

Exemples

L’exemple de code suivant montre comment utiliser la Depth propriété pour spécifier la profondeur de menu à laquelle appliquer un MenuItemBinding objet. Pour que cet exemple fonctionne correctement, vous devez copier les exemples de données XML ci-dessous dans un fichier nommé MenuDepth.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 Depth Example</title>
</head>
<body>
    <form id="form1" runat="server">

      <h3>MenuItemBinding Depth Example</h3>

      <asp:menu id="NavigationMenu"
        datasourceid="MenuSource"
        runat="server">
        
        <databindings>
        
          <asp:menuitembinding depth="0"
            textfield="Title"
            valuefield="Description"
            imageurlfield="ImageUrl"
            tooltipfield="ToolTip"
            target="_self" />
          <asp:menuitembinding depth="1"
            textfield="Title"
            valuefield="Description"
            imageurlfield="ImageUrl"
            tooltipfield="ToolTip"
            target="_blank"/>
          <asp:menuitembinding depth="2"
            textfield="Title"
            valuefield="Description"
            imageurlfield="ImageUrl"
            tooltipfield="ToolTip"
            target="_blank"/>
          
        </databindings>
        
      </asp:menu>

      <asp:xmldatasource id="MenuSource"
        datafile="MenuDepth.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 Depth Example</title>
</head>
<body>
    <form id="form1" runat="server">

      <h3>MenuItemBinding Depth Example</h3>

      <asp:menu id="NavigationMenu"
        datasourceid="MenuSource"
        runat="server">
        
        <databindings>
        
          <asp:menuitembinding depth="0"
            textfield="Title"
            valuefield="Description"
            imageurlfield="ImageUrl"
            tooltipfield="ToolTip"
            target="_self" />
          <asp:menuitembinding depth="1"
            textfield="Title"
            valuefield="Description"
            imageurlfield="ImageUrl"
            tooltipfield="ToolTip"
            target="_blank"/>
          <asp:menuitembinding depth="2"
            textfield="Title"
            valuefield="Description"
            imageurlfield="ImageUrl"
            tooltipfield="ToolTip"
            target="_blank"/>
          
        </databindings>
        
      </asp:menu>

      <asp:xmldatasource id="MenuSource"
        datafile="MenuDepth.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.

<MapNode 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>

</MapNode>

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.

Utilisez la Depth propriété pour spécifier la profondeur de menu à laquelle appliquer l’objet MenuItemBinding . Par exemple, la déclaration suivante MenuItemBinding lie les champs Nom et ID de la source de données aux propriétés et Value aux Text propriétés, respectivement, de tous les éléments de menu avec une profondeur de 0 :

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

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 à des 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 et qu’un 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 établir une liaison à 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 à partir de la source de données.

Si des objets en MenuItemBinding 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