MenuItemBinding.DataMember Propiedad

Definición

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

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

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.

Ejemplos

En el ejemplo de código siguiente se muestra cómo usar la DataMember propiedad para especificar qué elemento XML se va a enlazar a los elementos de menú de un Menu control. Para que 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>

<%@ 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 de 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>

Comentarios

Al crear un MenuItemBinding objeto, debe especificar los criterios para el enlace. Los criterios indican cuándo se debe enlazar un elemento de datos a un elemento de menú. Puede especificar la Depth propiedad, la DataMember propiedad o ambos.

Cuando el origen de datos contiene varios elementos o tablas, utilice la DataMember propiedad para especificar el elemento o tabla que se va a 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 en función del origen de datos. Cada elemento de datos de un origen de datos jerárquico (representado por un System.Web.UI.IHierarchyData objeto) expone una IHierarchyData.Type propiedad , que especifica el tipo del elemento de datos. Por ejemplo, el miembro de datos de un elemento XML especifica el nombre del elemento. 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:

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

A veces, es posible que tenga que crear un enlace de elementos de menú que especifique una profundidad y un miembro de datos. A menudo se usa 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 distintos niveles dentro de un archivo XML. Las declaraciones siguientes MenuItemBinding muestran cómo especificar enlaces de elementos de menú que se aplican a miembros de datos idénticos en diferentes 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 elementos de menú sin una profundidad o un miembro de datos, el enlace de elementos de menú se aplica a todos los elementos de menú del menú. Esto se usa normalmente cuando todos los elementos de datos tienen las mismas propiedades y deben mostrarse de forma idéntica, independientemente de la profundidad del menú.

Una vez establecidos los criterios de enlace, 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 objetos a los MenuItem que se aplica el MenuItemBinding objeto comparten el mismo valor. Las propiedades enlazadas a campos contienen los valores del campo del origen de datos.

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

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

  2. Objeto MenuItemBinding que define y coincide solo con el miembro de datos.

  3. Objeto MenuItemBinding que define y coincide solo con la profundidad.

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

  5. Objeto MenuItemBinding que no tiene una coincidencia en el origen de datos. En este caso, el valor devuelto por el ToString() método del elemento de datos se enlaza a las Text propiedades y Value de los elementos de menú a los que se aplica el MenuItemBinding objeto.

Se aplica a

Consulte también