This documentation is archived and is not being maintained.

TreeNodeBinding.DataMember Property

Gets or sets the value to match against a IHierarchyData.Type property for a data item to determine whether to apply the tree node binding.

Namespace:  System.Web.UI.WebControls
Assembly:  System.Web (in System.Web.dll)

public string DataMember { get; set; }

Property Value

Type: System.String
The value to match against a data item's IHierarchyData.Type property to determine whether to apply the tree node binding. The default is an empty string (""), which indicates that the DataMember property is not set.

A data member specifies the type of the data item in the underlying data source, but can represent different information depending on the data source. Each data item in a hierarchical data source (represented by a System.Web.UI.IHierarchyData object) exposes a IHierarchyData.Type property, which specifies the type of the data item. For example, the data member for an XML element specifies the name of the element. When a data source contains multiple data item types, the data member specifies which data item type to use. The following TreeNodeBinding declaration binds the <Book> elements of an XmlDataSource control to all the nodes in the tree, regardless of the location in the hierarchy:

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

When creating a TreeNodeBinding object, you must specify the criteria for binding. The criteria indicates when a data item should be bound to a node. You can specify the Depth or DataMember property, or both properties. There is a slight performance gain by specifying both.

Once the binding criteria is established, you can then bind a property of a TreeNode object that can be bound to a value. You can bind to a field of a data item or to a static value. When bound to a static value, all TreeNode objects to which the TreeNodeBinding object is applied share the same value.

The value of this property is stored in view state.

This section contains two code examples. The first code example demonstrates how to use the DataMember property to specify which XML element to bind to a node. The second code example provides sample XML data for the first code example.

The following code example demonstrates how to use the DataMember property to specify which XML element to bind to a node. For this code example to work correctly, you must copy the sample XML data, provided after this code example, to a file named Book.xml.

<%@ Page Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
<html xmlns="" >
  <head runat="server">
    <title>TreeViewBinding DataMember and Depth Example</title>
    <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" 

          <asp:TreeNodeBinding DataMember="Book" Depth="0" TextField="Title"/>
          <asp:TreeNodeBinding DataMember="Chapter" Depth="1" TextField="Heading"/>
          <asp:TreeNodeBinding DataMember="Appendix" Depth="1" TextField="Heading"/>


      <asp:XmlDataSource id="BookXmlDataSource"  


The following code example provides sample XML data for the preceding code example.

<Book Title="Book Title">
    <Chapter Heading="Chapter 1">
        <Section Heading="Section 1">
        <Section Heading="Section 2">
    <Chapter Heading="Chapter 2">
        <Section Heading="Section 1">
    <Appendix Heading="Appendix A">

.NET Framework

Supported in: 4, 3.5, 3.0, 2.0

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.