MenuItemBinding.Depth Propiedad

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.

Atributos

Ejemplos

En el ejemplo de código siguiente se muestra cómo utilizar la propiedad Depth para especificar la profundidad del menú en la que se va a aplicar un objeto MenuItemBinding.The following code example demonstrates how to use the Depth property to specify the menu depth at which to apply a MenuItemBinding object. Para que 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 un ejemplo de datos del mapa del sitio 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 objeto de MenuItemBinding, debe especificar los criterios de enlace.When creating a MenuItemBinding object, you must specify the criteria for binding. Los criterios indican cuándo se debe enlazar un elemento de datos a un elemento de menú.The criteria indicate when a data item should be bound to a menu item. Puede especificar la propiedad Depth, la propiedad DataMember o ambas.You can specify the Depth property, the DataMember property, or both.

Utilice la propiedad Depth para especificar la profundidad del menú en la que se aplicará el objeto MenuItemBinding.Use the Depth property to specify the menu depth at which to apply the MenuItemBinding object. Por ejemplo, la siguiente declaración de MenuItemBinding enlaza los campos de identificador y nombre del origen de datos a las propiedades Text y Value, 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">  

En ocasiones, es posible que necesite 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. Se suele usar cuando el origen de datos contiene elementos en diferentes 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> elementos que aparecen en niveles diferentes dentro de un archivo XML.For example, you can have <Item> elements that appear at different levels within an XML file. Las declaraciones de MenuItemBinding siguientes muestran cómo especificar enlaces de elementos de menú que se aplican a miembros de datos idénticos en diferentes 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 un enlace de elemento de menú se define 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. Normalmente se usa cuando todos los elementos de datos tienen las mismas propiedades y deben mostrarse de manera idéntica, independientemente de la profundidad del menú.This is commonly used when all data items have the same properties and should be displayed identically, regardless of the menu depth.

Después de establecer los criterios de enlace, puede enlazar una propiedad de un objeto MenuItem que se pueda 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 objetos MenuItem a los que se aplica el objeto MenuItemBinding 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 se definen objetos MenuItemBinding en conflicto, el control Menu aplica los enlaces de elementos de menú en el siguiente orden de prioridad:If conflicting MenuItemBinding objects are defined, the Menu control applies the menu item bindings in the following order of precedence:

  1. Objeto MenuItemBinding 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. Objeto MenuItemBinding que define y coincide solo con el miembro de datos.The MenuItemBinding object that defines and matches the data member only.

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

  4. Objeto MenuItemBinding que no define ni la profundidad ni el miembro de datos.The MenuItemBinding object that defines neither the depth nor the data member. (Este tipo de enlace de elementos 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. Objeto MenuItemBinding 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 el método ToString() del elemento de datos se enlaza a las propiedades Text y Value de los elementos de menú a los que se aplica el objeto MenuItemBinding.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: