Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Propiedad MenuItemBinding.DataMember

 

Publicado: octubre de 2016

Obtiene o establece el miembro de datos para enlazar a un 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

Type: System.String

El miembro de datos para enlazar a un elemento de menú. El valor predeterminado es una cadena vacía (""), lo que indica que no se ha establecido esta propiedad.

Al crear un MenuItemBinding de objeto, 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 el Depth propiedad, el DataMember propiedad, o ambos.

Cuando el origen de datos contiene varios elementos o tablas, utilice la DataMember propiedad para especificar el elemento o tabla para enlazar a un elemento de menú. 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. 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 del elemento de datos. Por ejemplo, el miembro de datos para un elemento XML especifica el nombre del elemento. La siguiente MenuItemBinding declaración enlaza el <Book> elementos de un XmlDataSource control a todos los elementos de menú en el menú, independientemente de la ubicación en la jerarquía:

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

En ocasiones tendrá que crear un enlace de elemento de menú que especifique una profundidad y un miembro de datos. Esto se suele usar cuando el origen de datos contiene elementos en distintos niveles que tienen el mismo valor de miembro de datos. Por ejemplo, puede tener <Item> elementos que aparecen en diferentes niveles dentro de un archivo XML. La siguiente MenuItemBinding declaraciones muestra cómo especificar los enlaces del elemento de menú que se aplican a datos idénticos miembros 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 de menú en el menú. Esto se utiliza normalmente cuando todos los elementos de datos tienen las mismas propiedades y deben mostrarse de forma idéntica, independientemente de la profundidad de menú.

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. Puede enlazar a un campo de un elemento de datos o a un valor estático. 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. Las propiedades enlazadas a campos contienen los valores del campo del origen de datos.

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

  1. La MenuItemBinding objeto que define y coincide con una profundidad y un miembro de datos.

  2. La MenuItemBinding objeto que define y coincide con el miembro de datos únicamente.

  3. La MenuItemBinding objeto que define y coincide con la profundidad sólo.

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

  5. La MenuItemBinding objeto que no tiene una coincidencia en el origen de datos. 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.

En el ejemplo de código siguiente se muestra cómo utilizar el DataMember propiedad para especificar qué elemento XML para enlazar a los elementos de menú en un Menu control. En este ejemplo funcione correctamente, debe copiar los datos XML de ejemplo siguientes 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 código siguiente es datos de 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
Disponible desde 2.0
Volver al principio
Mostrar: