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



我有一个ASP.NET TreeView控件,该控件显示层次文件夹结构。TreeView中的每个节点都具有与folderId相对应的较长值属性。文本属性是文件夹名称,就像:

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

我需要通过传递folderId来自动将树视图扩展到特定节点。

TreeView具有一个FindNode()方法,该方法似乎采用"值路径"(String)属性。据我所知:

string folderIdPath = "72|73|77";
TreeView1.PathSeparator = '|';
TreeView1.FindNode(folderIdPath).Expand();

但是,这将"对象引用未设置为对象的实例"错误。

,因此事实证明,您实际上不能一口气扩展树景。您必须一次进行一个节点,请参阅:http://forums.asp.net/t/1099367.aspx/1

所以现在我循环遍历所有文件,然后一次打开它们。重要的是要记住的是,尽管您一次一次打开它们,但您仍然需要使用完整的valuepath。

有关更多信息,请参见上面的链接。

最新更新