Below code use to Create a treeview control in asp.net

Aspx Page

<form id="form1" runat="server">

<div>

<asp:TreeView ID="TreeView1" runat="server">

</asp:TreeView>

</div>

</form>

Aspx.cs

public partial class TreeView : System.Web.UI.Page

{

protected void Page_Load(object sender, EventArgs e)

{

// Create the DataTable and columns

DataTable ItemTable = new DataTable("MyTable");

ItemTable.Columns.Add("ID", typeof(int));

ItemTable.Columns.Add("ParentID", typeof(int));

ItemTable.Columns.Add("Name", typeof(String));

// add some test data

ItemTable.Rows.Add(new object[] { 0, -1, "Bill Gates" });

ItemTable.Rows.Add(new object[] { 1, 0, "Steve Ballmer" });

ItemTable.Rows.Add(new object[] { 3, 1, "Mary Smith" });

ItemTable.Rows.Add(new object[] { 2, 0, "Paul Allen" });

ItemTable.Rows.Add(new object[] { 4, 2, "Ahmed Jones" });

ItemTable.Rows.Add(new object[] { 5, 2, "Wing Lee" });

DataRow[] SortedRows;

SortedRows = ItemTable.Select("", "ParentID");

XmlDocument XDoc = new XmlDocument();

XmlDeclaration XDec = XDoc.CreateXmlDeclaration("1.0", null, null);

XDoc.AppendChild(XDec);

foreach (DataRow Row in SortedRows)

{

// create an element node to insert

// note: Element names may not have spaces so use ID

// note: Element names may not start with a digit so add underscore

XmlElement NewNode = XDoc.CreateElement("_" + Row["ID"].ToString());

NewNode.SetAttribute("ID", Row["ID"].ToString());

NewNode.SetAttribute("ParentID", Row["ParentID"].ToString());

NewNode.SetAttribute("FullName", Row["Name"].ToString());

// special case for top level node

if ((int)Row["ParentID"] == -1)

XDoc.AppendChild(NewNode); // root node

else

{

// use XPath to find the parent node in the tree

String SearchString;

SearchString = String.Format("//*[@ID=\"{0}\"] ", Row["ParentID"].ToString());

XmlNode Parent = XDoc.SelectSingleNode(SearchString);

if (Parent != null)

Parent.AppendChild(NewNode);

else

; // Handle Error: Employee with no boss

}

}

XmlDataSource XDdataSource = new XmlDataSource();

XDdataSource.ID = DateTime.Now.Ticks.ToString(); // unique ID is required

XDdataSource.Data = XDoc.OuterXml;

TreeNodeBinding Binding = new TreeNodeBinding();

Binding.TextField = "FullName";

Binding.ValueField = "ID";

TreeView1.DataBindings.Add(Binding);

// Finally! Hook that bad boy up!

TreeView1.DataSource = XDdataSource;

TreeView1.DataBind();

}

}