我有一个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();
但是,这会抛出“未将对象引用设置为对象实例”错误。
答案 0 :(得分:0)
事实证明,你无法一次性扩展TreeView。您必须一次只执行一个节点,请参阅此处:http://forums.asp.net/t/1099367.aspx/1
所以现在我遍历所有FolderIds并一次打开一个。要记住的重要一点是,虽然您一次打开一个,但仍需要使用完整的值路径。
有关详细信息,请参阅上面的链接。