如何在Treeview ASP.NET中选择(更改)和取消选择TreeNode完整路径

时间:2016-02-29 17:54:00

标签: c# css asp.net treeview treenode

我正在使用具有TreeView的asp.net应用程序。我从数据库绑定我的Treeview。所以我的TreeView有几个节点。例如:

  Node1
    Node2
      Node3
        Node4
    Node5
    Node6
      Node7 
        Node8

现在,我希望如果我选择任何要突出显示该节点完整路径的节点。例如,如果我选择 Node4 ,我想更改它的完整路径( Node4-Node3-Node2-Node1 )的颜色(背景色)。< / p>

如果我在此之后选择任何其他节点,我希望以前选择的节点再次相同,并且必须突出显示所选节点路径。经过大量搜索后,我才发现了这个

How to highlight Tree path of selected node in TreeView control?

但是当我这样做时,我无法点击任何节点,也取消选择功能不起作用。

  protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e)
    {
       TreeView1.SelectedNodeStyle.CssClass = "treenodeSelected";


        HighlightPath(TreeView1.SelectedNode);

    }

    private void HighlightPath(TreeNode node)
    {
        node.Text = "<td class='treenodeSelected'>" + node.Text + "</td>";;
        if (node.Parent != null)
            HighlightPath(node.Parent);
    }

请帮我解决这个问题。我只想改变TreeNode的完整路径的背景颜色(用户可以看到他选择了什么路径)。

PS:添加任何div,节点文本中的范围无法正常工作。

0 个答案:

没有答案