asp.net TreeView扩展问题

时间:2010-09-01 02:34:16

标签: asp.net treeview

希望你帮助我,我认为一个简单的TreeView Expand问题。

我在MasterPage中有一个TreeView控件,我的默认深度是2,我看到当我点击更深的节点时它会不断展开..但是当我重定向到另一个页面时,节点崩溃了。

我的代码存在问题,它假设保持节点扩展。

TreeNode thisNode = tvCategories.FindNode(Session["SelectedCIDValPath"].ToString());
if (thisNode != null)
{
    thisNode.Selected = true;
    thisNode.Expand();
    thisNode.Select();
    thisNode.Expanded = true;
    lbl.Text = "valupath: " + Session["SelectedCIDValPath"].ToString();
}

正如您所看到的,我尝试了所有可能的属性和方法来保持更深层节点的扩展..但它不起作用。

请帮帮我?非常感谢你

1 个答案:

答案 0 :(得分:0)

恰好是这种情况(我觉得有点令人沮丧),扩展节点也不会导致父节点扩展。为了确保节点扩展,还必须确保父节点扩展。为此,我保留了一个方便的扩展方法:

public static void EnsureExpanded(this TreeNode node)
{
    if (node != null)
    {
        EnsureExpanded(node.Parent);
        node.Expand();
    }
}

你可以像这样使用扩展名:

TreeNode thisNode = tvCategories.FindNode(Session["SelectedCIDValPath"].ToString());
thisNode.EnsureExpanded();