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 DataMember utilizar la propiedad para especificar el elemento XML que se va a enlazar Menu a los elementos de menú de un 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. Para que 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 un ejemplo de datos del mapa del sitio 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 objeto, 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 Depth propiedad, la DataMember propiedad o ambas.You can specify the Depth property, the DataMember property, or both.

Cuando el origen de datos contiene varios elementos o tablas, utilice DataMember la propiedad para especificar el elemento o la tabla que se va a 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 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. Cada elemento de datos de un origen de datos jerárquico (representado por System.Web.UI.IHierarchyData un objeto) expone una IHierarchyData.Type propiedad, que especifica el tipo del 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 de 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 los <Book> elementos de un XmlDataSource control a todos los elementos de menú del menú, independientemente de la ubicación de 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">  

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 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 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. 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 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, MenuItem todos los objetos a MenuItemBinding los que 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 se definen MenuItemBinding objetos en conflicto, el Menu control 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. 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. MenuItemBinding Objeto que define y coincide solo con el miembro de datos.The MenuItemBinding object that defines and matches the data member only.

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

  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. (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. 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 ToString() el método del elemento de datos se enlaza a las Text propiedades Value y de los elementos de menú a los MenuItemBinding que 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: