MenuItemBinding.Depth MenuItemBinding.Depth MenuItemBinding.Depth MenuItemBinding.Depth Property

Definición

Obtiene o establece la profundidad de menú a la que se aplica el objeto MenuItemBinding.Gets or sets the menu depth to which the MenuItemBinding object is applied.

public:
 property int Depth { int get(); void set(int value); };
[System.ComponentModel.TypeConverter("System.Web.UI.Design.WebControls.TreeNodeBindingDepthConverter, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
[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; }
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.The menu depth to which the MenuItemBinding is applied. El valor predeterminado es -1, que indica que esta propiedad no se estableció.The default is -1, which indicates that this property is not set.

Ejemplos

En el ejemplo de código siguiente se muestra cómo usar el Depth propiedad para especificar la profundidad de menú en el que se va a aplicar un MenuItemBinding objeto.The following code example demonstrates how to use the Depth property to specify the menu depth at which to apply a MenuItemBinding object. Este ejemplo funcione correctamente, debe copiar los datos XML de ejemplo siguientes en un archivo denominado MenuDepth.xml.For this example to work correctly, you must copy the sample XML data below to a file named 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 datos de mapa del sitio de ejemplo para el ejemplo anterior.The following code is sample site map data for the previous example.

<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 de objeto, debe especificar los criterios de enlace.When creating a MenuItemBinding object, you must specify the criteria for binding. Los criterios indican cuándo un elemento de datos debe enlazarse a un elemento de menú.The criteria indicate when a data item should be bound to a menu item. Puede especificar el Depth propiedad, el DataMember propiedad, o ambos.You can specify the Depth property, the DataMember property, or both.

Use la Depth propiedad para especificar la profundidad de menú en el que se va a aplicar el MenuItemBinding objeto.Use the Depth property to specify the menu depth at which to apply the MenuItemBinding object. Por ejemplo, la siguiente MenuItemBinding declaración enlaza los campos nombre y el identificador del origen de datos a la Text y Value propiedades, respectivamente, de todos los elementos de menú con una profundidad de 0:For example, the following MenuItemBinding declaration binds the Name and ID fields of the data source to the Text and Value properties, respectively, of all menu items with a depth of 0:

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

A veces es posible que deba crear un enlace de elemento de menú que especifique una profundidad y un miembro de datos.Sometimes you might need to create a menu item binding that specifies both a depth and a data member. Esto se suele usar cuando el origen de datos contiene los elementos en distintos niveles que tienen el mismo valor de miembro de datos.This is often used when the data source contains items at different levels that have the same data member value. Por ejemplo, puede tener <Item> los elementos que aparecen en distintos niveles dentro de un archivo XML.For example, you can have <Item> elements that appear at different levels within an XML file. La siguiente MenuItemBinding declaraciones muestra cómo especificar los enlaces del elemento de menú que se aplican a los datos idénticos miembros en distintas profundidades de menú:The following MenuItemBinding declarations show how to specify menu item bindings that apply to identical data members at different menu depths:

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

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

Si se define un enlace de elemento de menú sin una profundidad y un miembro de datos, el enlace del elemento de menú se aplica a todos los elementos de menú en el menú.If a menu item binding is defined without a depth and a data member, the menu item binding is applied to all menu items within the menu. Esto se utiliza normalmente cuando todos los elementos de datos tienen las mismas propiedades y se deben mostrar exactamente igual, independientemente de la profundidad de menú.This is commonly used when all data items have the same properties and should be displayed identically, regardless of the menu depth.

Una vez establecidos los criterios de enlace, a continuación, puede enlazar una propiedad de un MenuItem objeto que se puede enlazar a un valor.After the binding criteria are established, you can then bind a property of a MenuItem object that can be bound to a value. Puede enlazar a un campo de un elemento de datos o a un valor estático.You can bind to a field of a data item or to a static value. Cuando se enlaza a un valor estático, todos los MenuItem objetos a los que el MenuItemBinding se aplica el objeto comparten el mismo valor.When bound to a static value, all MenuItem objects to which the MenuItemBinding object is applied share the same value. Las propiedades enlazadas a campos contienen los valores del campo del origen de datos.Properties bound to fields contain the values of the field from the data source.

Si en conflicto MenuItemBinding se definen los objetos, el Menu control aplica a los enlaces del elemento de menú en el orden de precedencia siguiente:If conflicting MenuItemBinding objects are defined, the Menu control applies the menu item bindings in the following order of precedence:

  1. La MenuItemBinding objeto que define y coincide con una profundidad y un miembro de datos.The MenuItemBinding object that defines and matches both a depth and a data member.

  2. La MenuItemBinding objeto que define y coincide con el miembro de datos únicamente.The MenuItemBinding object that defines and matches the data member only.

  3. La MenuItemBinding objeto que define y coincide con la profundidad solo.The MenuItemBinding object that defines and matches the depth only.

  4. La MenuItemBinding objeto que define la profundidad ni el miembro de datos.The MenuItemBinding object that defines neither the depth nor the data member. (Este tipo de enlace de elemento de menú se aplica a todos los elementos de menú en el menú).(This type of menu item binding is applied to all menu items in the menu.)

  5. La MenuItemBinding objeto que no tiene una coincidencia en el origen de datos.The MenuItemBinding object that does not have a match in the data source. En este caso, el valor devuelto por la ToString() método del elemento de datos se enlaza a la Text y Value propiedades de los elementos de menú al que el MenuItemBinding se aplica el objeto.In this case, the value returned by the ToString() method of the data item is then bound to the Text and Value properties of the menu items to which the MenuItemBinding object is applied.

Se aplica a

Consulte también: