0

我正在使用 Asp.net treeview 来显示我的目录,包括文件。一旦用户单击树视图节点,我想显示文件路径。我正在使用 FullName 属性来获取路径。我遇到的问题是,treeview 仅显示目录而不是文件的完整路径!

这是我的代码

private static TreeNode CreateDirectoryNode(DirectoryInfo directoryInfo)
{
    TreeNode directoryNode = new TreeNode(directoryInfo.Name);

    foreach (DirectoryInfo directory in directoryInfo.GetDirectories())
    {
        if (!directory.Attributes.ToString().Contains("Hidden"))
        {
            directoryNode.ChildNodes.Add(CreateDirectoryNode(directory));
            directoryNode.Value = directoryInfo.FullName; // Here I'm passing the directory path
        }
    }

    foreach (FileInfo file in directoryInfo.GetFiles())
    {
        if (File.GetAttributes(file.FullName).ToString().IndexOf("Hidden") == -1)
        {
            directoryNode.ChildNodes.Add(new TreeNode(file.Name));
            directoryNode.Value = file.FullName; // Here I'm passing the file path
        }
    }

    return directoryNode;
}

更新 由于某种原因,完整路径没有显示文件的treeNode 值,而是目录!

4

2 回答 2

1

您将值设置为错误的节点。

改变

  directoryNode.ChildNodes.Add(new TreeNode(file.Name));  
  directoryNode.Value = file.FullName; // Here I'm passing the file path  

  TreeNode fileNode = new TreeNode(file.Name, file.FullName);
  directoryNode.ChildNodes.Add(fileNode);

这会将文件节点的值设置为其完整路径

于 2012-10-22T17:25:42.803 回答
0

不显示Value属性

改变

directoryNode.ChildNodes.Add(new TreeNode(file.Name));

directoryNode.ChildNodes.Add(new TreeNode(file.FullName));
于 2012-10-22T17:04:19.470 回答