ファイルを含むディレクトリを表示するために Asp.net ツリービューを使用しています。ユーザーがツリービューノードをクリックすると、ファイルパスを表示したいと思います。FullName プロパティを使用してパスを取得しています。私が抱えている問題は、ツリービューがファイルではなくディレクトリのフルパスのみを表示することです!
これが私のコードです
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 値を示していません!