使用C#ASP.net将TreeView控件展开到特定节点

时间:2012-10-17 14:57:57

标签: c# asp.net treeview

我有一个ASP.net TreeView控件,它显示一个分层文件夹结构。 TreeView中的每个节点都有一个对应于FolderId的Long值属性; Text属性是文件夹名称,如下所示:

TreeNode node = new TreeNode();
node.Text = "folder name";
node.Value = 12345;
nodes.Add(node);

我需要通过传入FolderId将TreeView自动扩展到特定节点。

TreeView有一个FindNode()方法,它似乎采用“值路径”(字符串)属性。这是我能得到的:

string folderIdPath = "72|73|77";

TreeView1.PathSeparator = '|';
TreeView1.FindNode(folderIdPath).Expand();

但是,这会抛出“未将对象引用设置为对象实例”错误。

1 个答案:

答案 0 :(得分:0)

事实证明,你无法一次性扩展TreeView。您必须一次只执行一个节点,请参阅此处:http://forums.asp.net/t/1099367.aspx/1

所以现在我遍历所有FolderIds并一次打开一个。要记住的重要一点是,虽然您一次打开一个,但仍需要使用完整的值路径。

有关详细信息,请参阅上面的链接。