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é

Int32

Profondeur de menu à laquelle MenuItemBinding est appliqué. La valeur par défaut est -1 (propriété non 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 l’exemple 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 des exemples de données de mappage 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 propriété, la Depth 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 à la Text source de données, Value 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 disposer <Item> d’é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 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. Ceci 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 ensuite lier une propriété d’un MenuItem objet qui peut ê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 à partir 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 à 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 à la profondeur uniquement.

  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 méthode de l’élément ToString() de données est alors liée aux propriétés et Value aux Text éléments de menu auxquels l’objet MenuItemBinding est appliqué.

S’applique à

Voir aussi