Menu.DataBindings Propiedad

Definición

Obtiene una colección de objetos MenuItemBinding que definen la relación entre un elemento de datos y el elemento de menú al que enlaza.Gets a collection of MenuItemBinding objects that define the relationship between a data item and the menu item it is binding to.

public:
 property System::Web::UI::WebControls::MenuItemBindingCollection ^ DataBindings { System::Web::UI::WebControls::MenuItemBindingCollection ^ get(); };
[System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)]
public System.Web.UI.WebControls.MenuItemBindingCollection DataBindings { get; }
member this.DataBindings : System.Web.UI.WebControls.MenuItemBindingCollection
Public ReadOnly Property DataBindings As MenuItemBindingCollection

Valor de propiedad

MenuItemBindingCollection que representa la relación entre un elemento de datos y el elemento de menú al que enlaza.A MenuItemBindingCollection that represents the relationship between a data item and the menu item it is binding to.

Atributos

Ejemplos

En el ejemplo de código siguiente se muestra cómo DataBindings utilizar la colección para definir la relación entre los campos XmlDataSource de un control y los elementos de Menu menú de un control.The following code example demonstrates how to use the DataBindings collection to define the relationship between the fields of an XmlDataSource control and the menu items in a Menu control. Para que este ejemplo funcione correctamente, debe copiar los datos XML de ejemplo siguientes en un archivo denominado Map. Xml.For this example to work correctly, you must copy the sample XML data below to a file named Map.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>Menu DataBindings Example</title>
</head>
<body>
    <form id="form1" runat="server">
    
      <h3>Menu DataBindings Example</h3>
    
      <asp:menu id="NavigationMenu"
        staticdisplaylevels="1"
        staticsubmenuindent="10" 
        orientation="Vertical"
        target="_blank"
        datasourceid="MenuSource"
        runat="server">
        
       <DataBindings>
        
          <asp:menuitembinding datamember="MapHomeNode" 
            depth="0"
            textfield="title" 
            navigateurlfield="url"/>
          <asp:menuitembinding datamember="MapNode" 
            depth="1"
            textfield="title" 
            navigateurlfield="url"/>
          <asp:menuitembinding datamember="MapNode" 
            depth="2"
            textfield="title" 
            navigateurlfield="url"/>
        </DataBindings>
        
      </asp:menu>
      
      <asp:XmlDataSource id="MenuSource"
        datafile="Map.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>Menu DataBindings Example</title>
</head>
<body>
    <form id="form1" runat="server">
    
      <h3>Menu DataBindings Example</h3>
    
      <asp:menu id="NavigationMenu"
        staticdisplaylevels="1"
        staticsubmenuindent="10" 
        orientation="Vertical"
        target="_blank"
        datasourceid="MenuSource"
        runat="server">
        
        <DataBindings>
          <asp:menuitembinding datamember="MapHomeNode" 
            depth="0"
            textfield="title" 
            navigateurlfield="url"/>
          <asp:menuitembinding datamember="MapNode" 
            depth="1"
            textfield="title" 
            navigateurlfield="url"/>
          <asp:menuitembinding datamember="MapNode" 
            depth="2"
            textfield="title" 
            navigateurlfield="url"/>
        </DataBindings>
        
      </asp:menu>
      
      <asp:XmlDataSource id="MenuSource"
        datafile="Map.xml"
        runat="server"/>        

    </form>
  </body>
</html>

A continuación se indican los datos del mapa del sitio de ejemplo para el ejemplo anterior.The following is sample site map data for the previous example.

<MapHomeNode url="~\Home.aspx"   
  title="Home"  
  description="Home">  
  <MapNode url="~\Music.aspx"  
    title="Music"  
    description="Music">  
    <MapNode url="~\Classical.aspx"   
      title="Classical"  
      description="Classical"/>  
    <MapNode url="~\Rock.aspx"  
      title="Rock"  
      description="Rock"/>  
    <MapNode url="~\Jazz.aspx"  
      title="Jazz"  
      description="Jazz"/>  
  </MapNode>  
  <MapNode url="~\Movies.aspx"  
    title="Movies"  
    description="Movies">  
    <MapNode url="~\Action.aspx"  
      title="Action"  
      description="Action"/>  
    <MapNode url="~\Drama.aspx"  
      title="Drama"  
      description="Drama"/>  
    <MapNode url="~\Musical.aspx"  
      title="Musical"  
      description="Musical"/>  
  </MapNode>  
</MapHomeNode>  

Comentarios

La DataBindings colección contiene MenuItemBinding objetos que definen la relación entre un elemento de datos y el elemento de menú al que se enlaza.The DataBindings collection contains MenuItemBinding objects that define the relationship between a data item and the menu item it is binding to. Al enlazar a un origen de datos en el que cada elemento de datos contiene varias propiedades (por ejemplo, un elemento XML con varios atributos), un elemento de ToString() menú muestra de forma predeterminada el valor devuelto por el método del elemento de datos.When binding to a data source where each data item contains multiple properties (such as an XML element with several attributes), a menu item displays the value returned by the ToString() method of the data item by default. En el caso de un elemento XML, el elemento de menú muestra el nombre del elemento, que muestra la estructura subyacente del árbol, pero no es muy útil en caso contrario.In the case of an XML element, the menu item displays the element name, which shows the underlying structure of the tree, but is not very useful otherwise. Puede enlazar un elemento de menú a una propiedad de elemento de datos específica especificando los enlaces de elementos de menú.You can bind a menu item to a specific data item property by specifying menu item bindings.

Al definir la relación entre un elemento de datos y un elemento de menú, debe especificar los criterios de enlace y la propiedad de un elemento de datos al que se va a enlazar.When defining the relationship between a data item and a menu item, you must specify both the criteria for binding and the property of a data item to bind to. 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. Los criterios se pueden especificar con una profundidad, un miembro de datos o ambos.The criteria can be specified with a depth, a data member, or both. La profundidad especifica el nivel de menú que se enlaza.The depth specifies the menu level that gets bound. Por ejemplo, si se especifica una profundidad de 0, todos los elementos de menú de la estructura de árbol del nivel 0 se enlazan mediante el enlace del elemento de menú.For example, if you specify a depth of 0, all menu items in the tree structure at level 0 are bound using the menu item binding. Un miembro de datos especifica el tipo del elemento de datos en el origen de datos subyacente, pero puede representar información diferente en función del origen de datos.A data member specifies the type of the data item in the underlying data source, but can represent different information depending on the data source. Por ejemplo, el miembro de datos de un elemento XML especifica el nombre del elemento.For example, the data member for an XML element specifies the name of the element.

Si se MenuItemBinding definen varios objetos que entran en conflicto entre sí Menu , el control aplica los enlaces de elementos de menú en el siguiente orden de prioridad:If multiple MenuItemBinding objects are defined that conflict with each other, the Menu control applies the menu item bindings in the following order of precedence:

  1. MenuItemBinding Objeto que define una profundidad y un miembro de datos.The MenuItemBinding object that defines both a depth and a data member.

  2. MenuItemBinding Objeto que define solo la profundidad.The MenuItemBinding object that defines only the depth.

  3. MenuItemBinding Objeto que define solo el miembro de datos.The MenuItemBinding object that defines only the data member.

  4. MenuItemBinding Objeto que no define ni la profundidad ni el miembro de datos.The MenuItemBinding object that defines neither the depth nor the data member.

Una vez establecidos los criterios de enlace, puede enlazar una propiedad de un MenuItem objeto que se puede enlazar a un atributo o campo de un elemento de datos.Once the binding criteria are established, you can then bind a property of a MenuItem object that is able to be bound to an attribute or field of a data item. Por ejemplo, puede enlazar la Text propiedad de un elemento de menú al atributo de texto en un elemento XML estableciendo la TextField propiedad de un MenuItemBinding objeto.For example, you can bind the Text property of a menu item to the text attribute on an XML element by setting the TextField property of a MenuItemBinding object. También puede enlazar a un valor estático.You can also bind to a static value. Si establece la Text propiedad de un MenuItemBinding objeto, todos los elementos de menú a los MenuItemBinding que se aplica el objeto comparten el mismo valor de texto estático.If you set the Text property of a MenuItemBinding object, all menu items to which the MenuItemBinding object is applied share the same static text value. Para obtener más información sobre el enlace de las MenuItem propiedades de un objeto con un MenuItemBindingvalor, vea.For more information on binding the properties of a MenuItem object to a value, see MenuItemBinding.

Aunque la DataBindings colección se puede rellenar mediante programación, normalmente se establece mediante declaración.Although the DataBindings collection can be programmatically populated, it is usually set declaratively. Para especificar los enlaces del elemento de menú, anide primero las etiquetas <DataBindings> Menu de apertura y cierre entre las etiquetas de apertura y cierre del control.To specify the menu item bindings, first nest opening and closing <DataBindings> tags between the opening and closing tags of the Menu control. A continuación, <asp:MenuItemBinding> Coloque los elementos entre las etiquetas <DataBindings> de apertura y cierre de cada enlace de elementos de menú que desee especificar.Next, place <asp:MenuItemBinding> elements between the opening and closing <DataBindings> tags for each menu item binding you want to specify.

Se aplica a

Consulte también: