我现在做的方法如下
 public   void   GetNode(TreeNodeCollection tc)   
  {   
    foreach(TreeNode TNode in tc )   
      {   
        Response.Write(TNode.Text.ToString());   
        GetNode(TNode.ChildNodes);   
      }   
      
  }   可这样的话连根节点也列出来了,我只想输出所有叶子节点,如果做啊?
或者加个判断也行,遇到根节点就跳过。

解决方案 »

  1.   

    public void GetNode(TreeNodeCollection tc)   
    {   
        foreach(TreeNode TNode in tc )   
        {   
            if (TreeNode.Parent != null)
            {
                Response.Write(TNode.Text.ToString());
            }
       
            GetNode(TNode.ChildNodes);   
        }
    }
      

  2.   

    编译器错误信息: CS0120: 非静态的字段、方法或属性“System.Web.UI.WebControls.TreeNode.Parent.get”要求对象引用
      

  3.   

    if(TNode.ChildNodes.Count == 0)
    {
      Response.Write(TNode.Text.ToString());   
    }
      

  4.   

    Sorry
    写错一点
    if (TNode.Parent != null)
      

  5.   

    另外,我理解的你说的根是指最上面的根如果你把凡是有子节点的都叫根
    就改成
    if (TNode.ChildNodes.Count == 0) 来判断
      

  6.   

    public void GetNode(TreeNodeCollection tc)   
    {   
    foreach(TreeNode TNode in tc )   
    {   
    if (TNode.Nodes.Count== 0)
    {
    Response.Write(TNode.Text.ToString());
    }
    else
    GetNode(TNode.Nodes);   
    }
    }