¿Le resultó útil esta página?
Sus comentarios sobre este contenido son muy importantes. Háganos saber su opinión.
¿Tiene comentarios adicionales?
Caracteres restantes: 1500
Exportar (0) Imprimir
Expandir todo
Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original

MenuItemBinding.DataMember (Propiedad)

Obtiene o establece el miembro de datos que se va a enlazar al elemento de menú.

Espacio de nombres:  System.Web.UI.WebControls
Ensamblado:  System.Web (en System.Web.dll)

public string DataMember { get; set; }

Valor de propiedad

Tipo: System.String
Miembro de datos que se va a enlazar al elemento de menú. El valor predeterminado es una cadena vacía (""), lo que indica que no se ha establecido esta propiedad.

Cuando cree un objeto MenuItemBinding debe especificar los criterios para el enlace. El criterio indica cuándo un elemento de datos se debería enlazar a un elemento de menú. Puede especificar la propiedad Depth, la propiedad DataMember, o ambas.

Si el origen de datos contiene varios elementos o tablas, utilice la propiedad DataMember para especificar el elemento o tabla que se debe enlazar a un elemento de menú. Un miembro de los datos especifica el tipo de elemento de datos del origen de datos subyacente, pero puede representar distinta información dependiendo del origen de datos. Cada elemento de datos de un origen de datos jerárquico (representado por un objeto System.Web.UI.IHierarchyData) expone una propiedad IHierarchyData.Type, que especifica el tipo de elemento de datos. Por ejemplo, el miembro de datos de un elemento XML especifica el nombre del elemento. La siguiente declaración MenuItemBinding enlaza los elementos <Book> de un control XmlDataSource a todos los elementos de menú del menú, independientemente de la ubicación en la jerarquía:

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

En ocasiones, puede ser necesario crear un enlace de elemento de menú que especifique una profundidad y un miembro de datos. Éste es el caso cuando el origen de datos contiene elementos en distintos niveles con el mismo valor de miembro de datos. Por ejemplo, puede haber elementos <Item> que aparezcan en distintos niveles en un archivo XML. En las siguientes declaraciones MenuItemBinding se muestra cómo especificar enlaces de elementos de menú que se aplican a miembros de datos idénticos en distintas profundidades de menú:

<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 de elemento de menú se aplica a todos los elementos del menú. Normalmente, esto sucede cuando todos los elementos de datos tienen las mismas propiedades y deben aparecer de la misma manera, independientemente de la profundidad de menú.

Una vez que se han establecido los criterios de enlace, se puede enlazar una propiedad de un objeto MenuItem que se puede enlazar a un valor. Se puede enlazar a un campo de un elemento de datos o a un valor estático. Cuando se enlazan a un valor estático, todos los objetos MenuItem a los que se aplica el objeto MenuItemBinding comparten el mismo valor. Las propiedades enlazadas a campos contienen los valores del campo del origen de datos.

Si se definen objetos MenuItemBinding que entran en conflicto, el control Menu aplica los enlaces de elemento de menú con el siguiente orden de prioridad:

  1. Objeto MenuItemBinding que define una profundidad y un miembro de datos, y coincide con ellos.

  2. Objeto MenuItemBinding que sólo define el miembro de datos, y coincide con él.

  3. Objeto MenuItemBinding que sólo define la profundidad, y coincide con ella.

  4. Objeto MenuItemBinding que no define la profundidad ni el miembro de datos. (Este tipo de enlace de elemento de menú se aplica a todos los elementos del menú.)

  5. Objeto MenuItemBinding que no tiene coincidencia en el origen de datos. En este caso, el valor que devuelve 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.

En el siguiente ejemplo de código se muestra cómo utilizar la propiedad DataMember para especificar qué elemento XML se debe enlazar a los elementos de menú de un control Menu. Para que este ejemplo funcione correctamente, debe copiar los datos XML de ejemplo que se proporcionan más abajo en un archivo denominado 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>



El siguiente código constituye los datos de un mapa del sitio de ejemplo para el ejemplo anterior.

<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>

.NET Framework

Compatible con: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (no se admite el rol Server Core), Windows Server 2008 R2 (se admite el rol Server Core con SP1 o versiones posteriores; no se admite Itanium)

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

Adiciones de comunidad

AGREGAR
Mostrar:
© 2015 Microsoft