MenuItemBinding.DataMember MenuItemBinding.DataMember MenuItemBinding.DataMember MenuItemBinding.DataMember Property

Definición

Obtiene o establece el miembro de datos que se va a enlazar al elemento de menú.Gets or sets the data member to bind to a menu item.

public:
 property System::String ^ DataMember { System::String ^ get(); void set(System::String ^ value); };
public string DataMember { get; set; }
member this.DataMember : string with get, set
Public Property DataMember As String

Valor de propiedad

Miembro de datos que se va a enlazar al elemento de menú.The data member to bind to a menu item. El valor predeterminado es una cadena vacía (""), lo que indica que no se ha establecido esta propiedad.The default is an empty string (""), which indicates that this property is not set.

Ejemplos

En el ejemplo de código siguiente se muestra cómo usar el DataMember propiedad para especificar qué elemento XML para enlazar a los elementos de menú en un Menu control.The following code example demonstrates how to use the DataMember property to specify which XML element to bind to the menu items in a Menu control. Este ejemplo funcione correctamente, debe copiar los datos XML de ejemplo siguientes en un archivo denominado MenuDataMember.xml.For this example to work correctly, you must copy the sample XML data below to a file named MenuDataMember.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 DataMember Example</title>
</head>
<body>
    <form id="form1" runat="server">

      <h3>MenuItemBinding DataMember Example</h3>

      <asp:menu id="NavigationMenu"
        datasourceid="MenuSource"
        runat="server">
        
        <databindings>
        
          <asp:menuitembinding datamember="MapNodeHome"
            textfield="Title"
            valuefield="Description"
            imageurlfield="ImageUrl"
            tooltipfield="ToolTip"
            target="_self" />
          <asp:menuitembinding datamember="MapNodeCategory"
            textfield="Title"
            valuefield="Description"
            imageurlfield="ImageUrl"
            tooltipfield="ToolTip"
            target="_blank"/>
          <asp:menuitembinding datamember="MapNodeSection"
            textfield="Title"
            valuefield="Description"
            imageurlfield="ImageUrl"
            tooltipfield="ToolTip"
            target="_blank"/>
          
        </databindings>
        
      </asp:menu>

      <asp:xmldatasource id="MenuSource"
        datafile="MenuDataMember.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 DataMember Example</title>
</head>
<body>
    <form id="form1" runat="server">

      <h3>MenuItemBinding DataMember Example</h3>

      <asp:menu id="NavigationMenu"
        datasourceid="MenuSource"
        runat="server">
        
        <databindings>
        
          <asp:menuitembinding datamember="MapNodeHome"
            textfield="Title"
            valuefield="Description"
            imageurlfield="ImageUrl"
            tooltipfield="ToolTip"
            target="_self" />
          <asp:menuitembinding datamember="MapNodeCategory"
            textfield="Title"
            valuefield="Description"
            imageurlfield="ImageUrl"
            tooltipfield="ToolTip"
            target="_blank"/>
          <asp:menuitembinding datamember="MapNodeSection"
            textfield="Title"
            valuefield="Description"
            imageurlfield="ImageUrl"
            tooltipfield="ToolTip"
            target="_blank"/>
          
        </databindings>
        
      </asp:menu>

      <asp:xmldatasource id="MenuSource"
        datafile="MenuDataMember.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.

<MapNodeHome ImageUrl="~\Images\Home.gif"

Title="Home"

Description="Root Page"

ToolTip="Home Page">

<MapNodeCategory ImageUrl="~\Images\Music.gif"

Title="Music"

Description="Music Category"

ToolTip="Music Page">

<MapNodeSection ImageUrl="~\Images\Classical.gif"

Title="Classical"

Description="Classical Section"

ToolTip="Classical Page"/>

<MapNodeSection ImageUrl="~\Images\Rock.gif"

Title="Rock"

Description="Rock Section"

ToolTip="Rock Page"/>

<MapNodeSection ImageUrl="~\Images\Jazz.gif"

Title="Jazz"

Description="Jazz Section"

ToolTip="Jazz Page"/>

</MapNodeCategory>

<MapNodeCategory ImageUrl="~\Images\Movies.gif"

Title="Movies"

Description="Movies Category"

ToolTip="Movies Page">

<MapNodeSection ImageUrl="~\Images\Action.gif"

Title="Action"

Description="Action Section"

ToolTip="Action Page"/>

<MapNodeSection ImageUrl="~\Images\Drama.gif"

Title="Drama"

Description="Drama Section"

ToolTip="Drama Page"/>

<MapNodeSection ImageUrl="~\Images\Musical.gif"

Title="Musical"

Description="Musical Section"

ToolTip="Musical Page"/>

</MapNodeCategory>

</MapNodeHome>

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.

Cuando el origen de datos contiene varios elementos o tablas, utilice el DataMember propiedad para especificar el elemento o la tabla para enlazar a un elemento de menú.When the data source contains multiple elements or tables, use the DataMember property to specify the element or table to bind to a menu item. Un miembro de datos especifica el tipo del elemento de datos en el origen de datos subyacente, pero puede representar información diferente dependiendo 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. Cada elemento de datos en un origen de datos jerárquico (representado por un System.Web.UI.IHierarchyData objeto) expone un IHierarchyData.Type propiedad, que especifica el tipo de elemento de datos.Each data item in a hierarchical data source (represented by a System.Web.UI.IHierarchyData object) exposes a IHierarchyData.Type property, which specifies the type of the data item. Por ejemplo, el miembro de datos para un elemento XML especifica el nombre del elemento.For example, the data member for an XML element specifies the name of the element. La siguiente MenuItemBinding declaración enlaza la <Book> elementos de un XmlDataSource control a todos los elementos de menú en el menú, independientemente de la ubicación en la jerarquía:The following MenuItemBinding declaration binds the <Book> elements of an XmlDataSource control to all the menu items in the menu, regardless of the location in the hierarchy:

<asp:MenuItemBinding DataMember="Book" TextField="Title" ValueField= "ISBN">  

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 o 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 or 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: