MenuItemBinding.Depth Propiedad

Definición

Obtiene o establece la profundidad de menú a la que se aplica el objeto MenuItemBinding.

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

Valor de propiedad

Profundidad de menú a la que se aplica el objeto MenuItemBinding. El valor predeterminado es -1, que indica que esta propiedad no se estableció.

Atributos

Ejemplos

En el ejemplo de código siguiente se muestra cómo usar la propiedad para especificar la Depth profundidad del menú en la que se va a aplicar un MenuItemBinding objeto. Para que este ejemplo funcione correctamente, debe copiar los datos XML de ejemplo siguientes en un archivo denominado 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>

El código siguiente es un ejemplo de datos de mapa del sitio para el ejemplo anterior.

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

Comentarios

Al crear un MenuItemBinding objeto, debe especificar los criterios de enlace. Los criterios indican cuándo se debe enlazar un elemento de datos a un elemento de menú. Puede especificar la Depth propiedad, la DataMember propiedad o ambos.

Utilice la Depth propiedad para especificar la profundidad del menú en la que se va a aplicar el MenuItemBinding objeto. Por ejemplo, la siguiente MenuItemBinding declaración enlaza los campos Nombre e Id. del origen de datos a las Text propiedades y Value , respectivamente, de todos los elementos de menú con una profundidad de 0:

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

A veces, es posible que tenga que crear un enlace de elementos de menú que especifique una profundidad y un miembro de datos. Esto se usa a menudo cuando el origen de datos contiene elementos en distintos niveles que tienen el mismo valor de miembro de datos. Por ejemplo, puede tener <Item> elementos que aparecen en distintos niveles dentro de un archivo XML. Las siguientes MenuItemBinding declaraciones muestran cómo especificar enlaces de elementos de menú que se aplican a miembros de datos idénticos en diferentes profundidades de menú:

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

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

Si se define un enlace de elementos de menú sin una profundidad y un miembro de datos, el enlace de elementos de menú se aplica a todos los elementos de menú del menú. Esto se usa normalmente cuando todos los elementos de datos tienen las mismas propiedades y deben mostrarse de forma idéntica, independientemente de la profundidad del menú.

Una vez establecidos los criterios de enlace, puede enlazar una propiedad de un MenuItem objeto que se puede enlazar a un valor. Puede enlazar a un campo de un elemento de datos o a un valor estático. Cuando se enlaza a un valor estático, todos los MenuItem objetos a los que se aplica el MenuItemBinding objeto comparten el mismo valor. Las propiedades enlazadas a campos contienen los valores del campo del origen de datos.

Si se definen objetos en conflicto MenuItemBinding , el Menu control aplica los enlaces de elementos de menú en el orden de prioridad siguiente:

  1. Objeto MenuItemBinding que define y coincide con una profundidad y un miembro de datos.

  2. Objeto MenuItemBinding que define y coincide solo con el miembro de datos.

  3. Objeto MenuItemBinding que define y coincide solo con la profundidad.

  4. Objeto MenuItemBinding que define ni la profundidad ni el miembro de datos. (Este tipo de enlace de elementos de menú se aplica a todos los elementos de menú del menú).

  5. Objeto MenuItemBinding que no tiene una coincidencia en el origen de datos. En este caso, el valor devuelto por el ToString() método del elemento de datos se enlaza a las Text propiedades y Value de los elementos de menú a los que se aplica el MenuItemBinding objeto.

Se aplica a

Consulte también