MenuItemBinding.DataMember Properti
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mendapatkan atau mengatur anggota data untuk diikat ke item 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
Nilai Properti
Anggota data yang akan diikat ke item menu. Defaultnya adalah string kosong (""), yang menunjukkan bahwa properti ini tidak diatur.
Contoh
Contoh kode berikut menunjukkan cara menggunakan DataMember properti untuk menentukan elemen XML mana yang akan diikat ke item menu dalam Menu kontrol. Agar contoh ini berfungsi dengan benar, Anda harus menyalin data XML sampel di bawah ini ke file bernama 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>
Kode berikut adalah contoh data peta situs untuk contoh sebelumnya.
<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>
Keterangan
Saat membuat MenuItemBinding objek, Anda harus menentukan kriteria untuk pengikatan. Kriteria menunjukkan kapan item data harus terikat ke item menu. Anda dapat menentukan Depth properti, DataMember properti, atau keduanya.
Saat sumber data berisi beberapa elemen atau tabel, gunakan DataMember properti untuk menentukan elemen atau tabel untuk mengikat item menu. Anggota data menentukan jenis item data di sumber data yang mendasar, tetapi dapat mewakili informasi yang berbeda tergantung pada sumber data. Setiap item data dalam sumber data hierarkis (diwakili oleh System.Web.UI.IHierarchyData objek) mengekspos IHierarchyData.Type properti, yang menentukan jenis item data. Misalnya, anggota data untuk elemen XML menentukan nama elemen . Deklarasi berikut mengikat MenuItemBinding<Book> elemen XmlDataSource kontrol ke semua item menu di menu, terlepas dari lokasi dalam hierarki:
<asp:MenuItemBinding DataMember="Book" TextField="Title" ValueField= "ISBN">
Terkadang Anda mungkin perlu membuat pengikatan item menu yang menentukan kedalaman dan anggota data. Ini sering digunakan ketika sumber data berisi item pada tingkat yang berbeda yang memiliki nilai anggota data yang sama. Misalnya, Anda dapat memiliki <Item> elemen yang muncul di tingkat yang berbeda dalam file XML. Deklarasi berikut MenuItemBinding menunjukkan cara menentukan pengikatan item menu yang berlaku untuk anggota data yang identik pada kedalaman menu yang berbeda:
<asp:MenuItemBinding DataMember="Item" Depth="1" TextField="Title">
<asp:MenuItemBinding DataMember="Item" Depth="2" TextField="ISBN">
Jika pengikatan item menu ditentukan tanpa kedalaman atau anggota data, pengikatan item menu diterapkan ke semua item menu dalam menu. Ini biasanya digunakan ketika semua item data memiliki properti yang sama dan harus ditampilkan secara identik, terlepas dari kedalaman menu.
Setelah kriteria pengikatan ditetapkan, Anda kemudian dapat mengikat properti MenuItem objek yang dapat terikat ke nilai. Anda dapat mengikat ke bidang item data atau ke nilai statis. Saat terikat ke nilai statis, semua MenuItem objek tempat MenuItemBinding objek diterapkan berbagi nilai yang sama. Properti yang terikat ke bidang berisi nilai bidang dari sumber data.
Jika objek yang berkonflik MenuItemBinding ditentukan, Menu kontrol akan menerapkan pengikatan item menu dalam urutan prioritas berikut:
Objek MenuItemBinding yang menentukan dan mencocokkan kedalaman dan anggota data.
Objek MenuItemBinding yang menentukan dan mencocokkan anggota data saja.
Objek MenuItemBinding yang menentukan dan mencocokkan kedalaman saja.
Objek MenuItemBinding yang mendefinisikan kedalaman atau anggota data. (Jenis pengikatan item menu ini diterapkan ke semua item menu di menu.)
Objek MenuItemBinding yang tidak memiliki kecocokan di sumber data. Dalam hal ini, nilai yang dikembalikan oleh
ToString()metode item data kemudian terikat ke Text properti dan Value item menu tempat MenuItemBinding objek diterapkan.