protected void InitTree(TreeNodeCollection Nds, string parentId)//用递归方法动态生成节点 { DataSet ds = new DataSet(); ds = bm.GetAllList(); DataView dv = new DataView(); TreeNode tmpNode; dv.Table = ds.Tables[0]; dv.RowFilter = "b_hid=" + "'" + parentId + "'"; foreach (DataRowView drv in dv) { tmpNode = new TreeNode(); tmpNode.Value = drv["b_id"].ToString(); tmpNode.Text = drv["b_name"].ToString() + "<a href='?act=upd&id=" + drv["b_id"].ToString() + "'><font color=red>[改]</font></a> <a href=?act=del&id=" + drv["b_id"].ToString() + " onClick=\"return confirm('是否删除此条记录?')\"><font color=red>[删]</font></a><a href=../../N_Permission/Permission.aspx?bid=" + drv["b_id"].ToString() + ">[权限]</a>"; //tmpNode.NavigateUrl = "#";//设置超链接 tmpNode.SelectAction = TreeNodeSelectAction.None; //禁用超链接属性 tmpNode.ExpandAll(); //展开所有子节点 Nds.Add(tmpNode); this.InitTree(tmpNode.ChildNodes, tmpNode.Value); } }