我正在使用Asp.net treeview来显示我的目录,包括文件。我想在用户单击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值,而是目录!
答案 0 :(得分: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);
这会将文件节点的值设置为“完整路径”
答案 1 :(得分:0)
不显示Value属性
更改
directoryNode.ChildNodes.Add(new TreeNode(file.Name));
要
directoryNode.ChildNodes.Add(new TreeNode(file.FullName));