TreeNodeBinding.DataMember 屬性
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
取得或設定值,用於和資料項目的 Type 屬性比對,以判斷是否要套用樹狀節點繫結。
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
屬性值
要和資料項目之 Type 屬性比對的值,以判斷是否要套用樹狀節點繫結。 預設值是空字串 (""),表示未設定 DataMember 屬性。
範例
本節包含兩個程式碼範例。 第一個程式碼範例示範如何使用 DataMember 屬性來指定要系結至節點的 XML 專案。 第二個程式碼範例會提供第一個程式碼範例的範例 XML 資料。
下列程式碼範例示範如何使用 DataMember 屬性來指定要系結至節點的 XML 專案。 若要讓此程式碼範例正常運作,您必須將此程式碼範例之後提供的範例 XML 資料複製到名為 Book.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>TreeViewBinding DataMember and Depth Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>TreeViewBinding DataMember and Depth Example</h3>
<!-- Set the DataMember and Depth properties of a -->
<!-- TreeNodeBinding object declaratively. You -->
<!-- can render items at the same node level -->
<!-- by setting each item's Depth property to -->
<!-- the same value. -->
<asp:TreeView id="BookTreeView"
DataSourceID="BookXmlDataSource"
runat="server">
<DataBindings>
<asp:TreeNodeBinding DataMember="Book" Depth="0" TextField="Title"/>
<asp:TreeNodeBinding DataMember="Chapter" Depth="1" TextField="Heading"/>
<asp:TreeNodeBinding DataMember="Appendix" Depth="1" TextField="Heading"/>
</DataBindings>
</asp:TreeView>
<asp:XmlDataSource id="BookXmlDataSource"
DataFile="Book.xml"
runat="server">
</asp:XmlDataSource>
</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>TreeViewBinding DataMember and Depth Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>TreeViewBinding DataMember and Depth Example</h3>
<!-- Set the DataMember and Depth properties of a -->
<!-- TreeNodeBinding object declaratively. You -->
<!-- can render items at the same node level -->
<!-- by setting each item's Depth property to -->
<!-- the same value. -->
<asp:TreeView id="BookTreeView"
DataSourceID="BookXmlDataSource"
runat="server">
<DataBindings>
<asp:TreeNodeBinding DataMember="Book" Depth="0" TextField="Title"/>
<asp:TreeNodeBinding DataMember="Chapter" Depth="1" TextField="Heading"/>
<asp:TreeNodeBinding DataMember="Appendix" Depth="1" TextField="Heading"/>
</DataBindings>
</asp:TreeView>
<asp:XmlDataSource id="BookXmlDataSource"
DataFile="Book.xml"
runat="server">
</asp:XmlDataSource>
</form>
</body>
</html>
下列程式碼範例提供上述程式碼範例的範例 XML 資料。
<Book Title="Book Title">
<Chapter Heading="Chapter 1">
<Section Heading="Section 1">
</Section>
<Section Heading="Section 2">
</Section>
</Chapter>
<Chapter Heading="Chapter 2">
<Section Heading="Section 1">
</Section>
</Chapter>
<Appendix Heading="Appendix A">
</Appendix>
</Book>
備註
資料成員會指定基礎資料來源中資料項目的類型,但可以根據資料來源來表示不同的資訊。 階層式資料來源中的每個資料項目 (由 System.Web.UI.IHierarchyData 物件表示,) 會公開 IHierarchyData.Type 屬性,這個屬性會指定資料項目的類型。 例如,XML 元素的資料成員會指定專案的名稱。 當資料來源包含多個資料類型時,資料成員會指定要使用的資料類型。 下列 TreeNodeBinding 宣告會將 <Book>
控制項的專案 XmlDataSource 系結至樹狀結構中的所有節點,而不論階層中的位置為何:
<asp:TreeNodeBinding DataMember="Book" TextField="Title" ValueField= "ISBN">
建立 TreeNodeBinding 物件時,您必須指定系結的準則。 準則會指出資料項目何時應該系結至節點。 您可以指定 Depth 或 DataMember 屬性,或兩個屬性。 藉由指定兩者,會有稍微的效能提升。
建立系結準則之後,您就可以系結可系結至值之 TreeNode 物件的 屬性。 您可以系結至資料項目的欄位或靜態值。 系結至靜態值時,套用物件的所有 TreeNode 物件 TreeNodeBinding 都會共用相同的值。
這個屬性的值會儲存在檢視狀態中。