Udostępnij za pośrednictwem


MenuItemBinding.DataMember Właściwość

Definicja

Pobiera lub ustawia element członkowski danych w celu powiązania z elementem menu.

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

Wartość właściwości

String

Element członkowski danych, który ma być powiązany z elementem menu. Wartość domyślna to pusty ciąg (""), który wskazuje, że ta właściwość nie jest ustawiona.

Przykłady

Poniższy przykład kodu pokazuje, jak za pomocą DataMember właściwości określić, który element XML ma być powiązany z elementami menu w kontrolce Menu . Aby ten przykład działał poprawnie, należy skopiować przykładowe dane XML poniżej do pliku o nazwie 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>

Poniższy kod to przykładowe dane mapy witryny dla poprzedniego przykładu.

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

Uwagi

Podczas tworzenia MenuItemBinding obiektu należy określić kryteria powiązania. Kryteria wskazują, kiedy element danych powinien być powiązany z elementem menu. Można określić Depth właściwość, DataMember właściwość lub oba te elementy.

Gdy źródło danych zawiera wiele elementów lub tabel, użyj DataMember właściwości , aby określić element lub tabelę do powiązania z elementem menu. Element członkowski danych określa typ elementu danych w bazowym źródle danych, ale może reprezentować różne informacje w zależności od źródła danych. Każdy element danych w hierarchicznym źródle danych (reprezentowanym przez System.Web.UI.IHierarchyData obiekt) uwidacznia IHierarchyData.Type właściwość określającą typ elementu danych. Na przykład element członkowski danych dla elementu XML określa nazwę elementu. Następująca MenuItemBinding deklaracja wiąże <Book> elementy XmlDataSource kontrolki ze wszystkimi elementami menu w menu, niezależnie od lokalizacji w hierarchii:

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

Czasami może być konieczne utworzenie powiązania elementu menu, które określa zarówno głębokość, jak i element członkowski danych. Jest to często używane, gdy źródło danych zawiera elementy na różnych poziomach, które mają tę samą wartość składowa danych. Na przykład można mieć <Item> elementy, które są wyświetlane na różnych poziomach w pliku XML. Poniższe MenuItemBinding deklaracje pokazują, jak określić powiązania elementów menu, które mają zastosowanie do identycznych elementów członkowskich danych w różnych głębokościach menu:

<asp:MenuItemBinding DataMember="Item" Depth="1" TextField="Title">

<asp:MenuItemBinding DataMember="Item" Depth="2" TextField="ISBN">

Jeśli powiązanie elementu menu jest definiowane bez głębokości lub elementu członkowskiego danych, powiązanie elementu menu jest stosowane do wszystkich elementów menu w menu. Jest to często używane, gdy wszystkie elementy danych mają te same właściwości i powinny być wyświetlane identycznie, niezależnie od głębokości menu.

Po ustanowieniu kryteriów powiązania można powiązać właściwość MenuItem obiektu, który może być powiązany z wartością. Możesz powiązać je z polem elementu danych lub z wartością statyczną. W przypadku powiązania z wartością statyczną wszystkie MenuItem obiekty, do których MenuItemBinding zastosowano obiekt, mają tę samą wartość. Właściwości powiązane z polami zawierają wartości pola ze źródła danych.

Jeśli obiekty powodujące MenuItemBinding konflikt są zdefiniowane, kontrolka Menu stosuje powiązania elementów menu w następującej kolejności pierwszeństwa:

  1. MenuItemBinding Obiekt, który definiuje i pasuje zarówno do głębokości, jak i elementu członkowskiego danych.

  2. Obiekt MenuItemBinding , który definiuje i pasuje tylko do elementu członkowskiego danych.

  3. Obiekt MenuItemBinding , który definiuje i pasuje tylko do głębokości.

  4. MenuItemBinding Obiekt, który definiuje ani głębokość, ani składową danych. (Ten typ powiązania elementu menu jest stosowany do wszystkich elementów menu w menu).

  5. MenuItemBinding Obiekt, który nie ma dopasowania w źródle danych. W takim przypadku wartość zwracana przez ToString() metodę elementu danych jest następnie powiązana z Text właściwościami i Value elementów menu, do których MenuItemBinding zastosowano obiekt.

Dotyczy

Zobacz też