MenuItemBinding.DataMember Özellik

Tanım

Veri üyesini bir menü öğesine bağlanacak şekilde alır veya ayarlar.

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

Özellik Değeri

String

Menü öğesine bağlanacak veri üyesi. Varsayılan değer, bu özelliğin ayarlanmadığını gösteren boş bir dizedir ("").

Örnekler

Aşağıdaki kod örneği, bir denetimdeki menü öğelerine Menu hangi XML öğesinin DataMember bağlanacağını belirtmek için özelliğinin nasıl kullanılacağını gösterir. Bu örneğin doğru çalışması için aşağıdaki örnek XML verilerini MenuDataMember.xml adlı bir dosyaya kopyalamanız gerekir.


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

Aşağıdaki kod, önceki örnek için örnek site haritası verileridir.

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

Açıklamalar

Nesne MenuItemBinding oluştururken bağlama ölçütlerini belirtmeniz gerekir. Ölçütler, bir veri öğesinin bir menü öğesine ne zaman bağlanması gerektiğini belirtir. Özelliği, DataMember özelliği veya her ikisini de belirtebilirsinizDepth.

Veri kaynağı birden çok öğe veya tablo içerdiğinde DataMember , bir menü öğesine bağlanacak öğeyi veya tabloyu belirtmek için özelliğini kullanın. Veri üyesi, temel alınan veri kaynağındaki veri öğesinin türünü belirtir, ancak veri kaynağına bağlı olarak farklı bilgileri temsil edebilir. Hiyerarşik veri kaynağındaki (bir System.Web.UI.IHierarchyData nesneyle temsil edilen) her veri öğesi, veri öğesinin türünü belirten bir IHierarchyData.Type özelliği kullanıma sunar. Örneğin, bir XML öğesinin veri üyesi öğenin adını belirtir. Aşağıdaki MenuItemBinding bildirim, hiyerarşideki <Book> konumdan bağımsız olarak denetimin XmlDataSource öğelerini menüdeki tüm menü öğelerine bağlar:

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

Bazen hem derinliği hem de veri üyesini belirten bir menü öğesi bağlaması oluşturmanız gerekebilir. Bu genellikle veri kaynağı aynı veri üyesi değerine sahip farklı düzeylerde öğeler içerdiğinde kullanılır. Örneğin, bir XML dosyası içinde farklı düzeylerde görünen öğeleriniz olabilir <Item> . Aşağıdaki MenuItemBinding bildirimler, farklı menü derinliklerinde özdeş veri üyeleri için geçerli olan menü öğesi bağlamalarının nasıl belirtileceğini gösterir:

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

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

Menü öğesi bağlaması derinlik veya veri üyesi olmadan tanımlanırsa, menü öğesi bağlaması menüdeki tüm menü öğelerine uygulanır. Bu genellikle tüm veri öğeleri aynı özelliklere sahip olduğunda kullanılır ve menü derinliğinden bağımsız olarak aynı şekilde görüntülenmelidir.

Bağlama ölçütleri oluşturulduktan sonra, bir MenuItem nesnenin bir değere bağlanabilecek bir özelliğini bağlayabilirsiniz. Bir veri öğesinin alanına veya statik bir değere bağlayabilirsiniz. Statik bir değere bağlanıldığında, nesnenin MenuItemBinding uygulandığı tüm MenuItem nesneler aynı değeri paylaşır. Alanlara bağlı özellikler, veri kaynağındaki alanın değerlerini içerir.

Çakışan MenuItemBinding nesneler tanımlanmışsa, Menu denetim menü öğesi bağlamalarını aşağıdaki öncelik sırasına göre uygular:

  1. Hem MenuItemBinding derinliği hem de veri üyesini tanımlayan ve eşleştiren nesne.

  2. Yalnızca MenuItemBinding veri üyesini tanımlayan ve eşleştiren nesne.

  3. Yalnızca MenuItemBinding derinliği tanımlayan ve eşleşen nesne.

  4. Derinliği MenuItemBinding veya veri üyesini tanımlayan nesne. (Bu tür bir menü öğesi bağlaması, menüdeki tüm menü öğelerine uygulanır.)

  5. MenuItemBinding Veri kaynağında eşleşmesi olmayan nesne. Bu durumda, veri öğesinin ToString() yöntemi tarafından döndürülen değer, nesnenin Text uygulandığı menü öğelerinin ve Value özelliklerine MenuItemBinding bağlanır.

Şunlara uygulanır

Ayrıca bkz.