下面是用递归法绑定到树控件的Demo: using System;using System.Data;using System.Configuration;using System.Collections;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;public partial class Administrator_SetSubject : System.Web.UI.Page...{ //public System.Web.UI.WebControls.TreeView TreeView1; DataTable dt; protected void Page_Load(object sender, EventArgs e) ...{ if (!IsPostBack) ...{ TreeViewOperate Obj = new TreeViewOperate(); //操作树类的对像。 dt = new DataTable(); dt = Obj.getTreeViewDataTable(); //得到数据表中所有的数据。getTreeViewDataTable方法略 CreateTree(TreeView1.Nodes, "0"); //调用方未予创建树,0为根目录的父节点,实际是不存在的 } } /**//// <summary> /// 递归法,填充树控件。 /// </summary> /// <param name="TreeNode">父节点名</param> /// <param name="printid">父节点ID</param> private void CreateTree(TreeNodeCollection TreeNode, string printid) ...{ DataView dv = new DataView(this.dt); dv.RowFilter = "ParentID='" + printid + "'"; TreeNode nodeTemp; foreach (DataRowView dv1 in dv) ...{ nodeTemp = new TreeNode(); nodeTemp.Value = dv1["ID"].ToString(); nodeTemp.Text = dv1["NodeName"].ToString(); TreeNode.Add(nodeTemp); this.CreateTree(nodeTemp.ChildNodes, nodeTemp.Value); //循环绑定树 } }}