2012-10-22 3 views
0

파일을 포함한 내 디렉토리를 표시하기 위해 Asp.net treeview를 사용하고 있습니다. 사용자가 treeview 노드를 클릭하면 파일 경로를 표시하려고합니다. FullName 속성을 사용하여 경로를 가져옵니다. 내가 가진 문제는, treeview 파일에 대한 디렉토리에 대한 전체 경로를 보여줍니다!Asp.net에서 전체 파일 경로를 얻는 방법은 무엇입니까?

여기에 내 코드

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 값 파일 만 디렉토리 표시되지 않습니다입니다!

답변

1

변경

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

을 표시되지 않습니다.

변경

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); 

이 전체 경로를 그것은`할 파일 노드의 값을 설정합니다

+0

고마워, 잘 했어! – HardCode

0

Value 속성은 당신이 잘못된 노드에 값을 설정

directoryNode.ChildNodes.Add(new TreeNode(file.FullName)); 
+0

예, 그것은 작동합니까하지만 난 보여주고 싶지 않아 트리 노드의 전체 파일 경로 대신 값으로 전달하고 싶습니다. – HardCode

+0

혼란 스럽네요, 뭐라고 묻고 있니? 당신이 파일 경로에 표시 할 전체 경로를 원하는 것 같아 – mlorbetske

+0

아니, 내 코드를 확인하면 TreeNode 값에 FullName을 전달하려고합니다. 죄송합니다, 좀 더 명확해질 필요가 있습니다. treeNode 값을 얻으려고하는데 전체 경로를 가져올 수 없습니다. – HardCode