当我按下第一层接点时,他的”子 “接点都被加入到LISTBOX。

解决方案 »

  1.   

    那肯定是你写错了嘛Click事件中有个index参数,描述的是被Clicked的节点的索引,你可以根据这个index 来处理那个项的
      

  2.   

    初始化的时候,每个节点增加NavigateUrl
    Microsoft.Web.UI.WebControls.TreeNode myTreeNode=new Microsoft.Web.UI.WebControls.TreeNode();
    myTreeNode.Text=ds.Tables["second"].Rows[i].ItemArray[1].ToString();  
    myTreeNode.ImageUrl="images/book.gif";
    string myTreeNodeText =myTreeNode.Text;
    string ParentNodeTextS =ParentNodeText;
    //myTreeNodeText=Server.UrlEncode(myTreeNodeText);
    //ParentNodeTextS=Server.UrlEncode(ParentNodeTextS);
    myTreeNode.NavigateUrl="Query.aspx?NodeText="+myTreeNodeText+"&ParentNodeText="+ParentNodeTextS;
    myTreeNode.Target="mainFrame";
    ParentNode.Nodes.Add(myTreeNode);

    }
    ds.Tables["second"].Clear(); 
    增加NavigateUrl属性,把text传递过去
    这样应该可以
      

  3.   

    谢谢各位的参与,但是我还是优点问题:
    to online(龙卷风(学习.NET中...)):(我的这些功能都是在一个页面里,只有一个框架)
    to Corny() :如何处理onlick 事件?我想知道当我按下一个节点时,有什么事件发生。(就像我按下button时,触发button的onlick事件!)
    to hgknight(江雨.net):“这并不难实现,不知你出了什么问题,给出你的例子来看看”高手,我不知道怎么处理,给我发点关于treeview的文章看看把,我仅仅是看了别人的一个写的不完整的帖子后,就知道tempnode.add 这个函数来添加节点。
    再次感谢!
      

  4.   

    to snowjin78(jin) 
    只有一个页面,连接到本身,刷新一次,值可以取出来
    myTreeNode.NavigateUrl="Query.aspx?NodeText="+myTreeNodeText+"&ParentNodeText="+ParentNodeTextS;
      

  5.   

    如果已知text值,往listbox中加入应该不成问题吧,将此功能写成一个函数,以text只作为参数。
    在TreeView1.SelectedIndexChange事件中,使用
       Dim node10 As New TreeNode()
       node10 = TreeView1.GetNodeFromIndex(e.NewNode)
       mynode.Text = node10.Text
    语句得到点击节点的text值,在调用该函数即可Private Sub TreeView1_SelectedIndexChange(ByVal sender As Object, ByVal e As Microsoft.Web.UI.WebControls.TreeViewSelectEventArgs) Handles TreeView1.SelectedIndexChangeend sub
      

  6.   

    Private Sub TreeView1_SelectedIndexChange(ByVal sender As Object, ByVal e As Microsoft.Web.
    UI.WebControls.TreeViewSelectEventArgs) Handles TreeView1.SelectedIndexChange
            Dim node As New TreeNode()
            node = TreeView1.GetNodeFromIndex(e.NewNode)
            If node.Nodes.Count > 0 Then
                GetAllNodeText(node.Nodes)
            End If
        End Sub
        Sub GetAllNodeText(ByVal tnc As TreeNodeCollection)
            Dim node As TreeNode
            For Each node In tnc
                If node.Nodes.Count <> 0 Then
                    GetAllNodeText(node.Nodes)
                End If
                Response.Write(node.Text + " ")
            Next
        End Sub