2016-09-12 1 views
1

Ich habe eine Funktion in einer Windows Form Application erstellt, mit der Benutzer eine Ordnerstruktur (TreeForm) und die Dateien in den Ordnern einer ListView anzeigen können. Jetzt muss ich die gleiche Funktion für eine WebForm-Anwendung erstellen. Ich habe versucht, den gleichen Code zu verwenden, aber festgestellt, dass die ASP.net Webformular-Steuerelemente nicht die gleichen Eigenschaften wie die Winform enthalten. Unten ist ein Teil des Codes, den ich nicht bestimmen kann, wie man ihn konvertiert, so dass er auf einer Webformular-Seite verwendet werden kann. Kann jetzt jemand den folgenden Code konvertieren, damit er mit einem ASP.net-Webformular verwendet werden kann? Jede Hilfe würde sehr geschätzt werden.Anzeigen von Ordnern und Dateien in ListView

protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e) 
    { 

     ListView1.Items.Clear(); 
     ListViewItem.ListViewSubItem[] subItems; 
     List<string> permittedFoldersFiles = new List<string>(); 

     if (permittedFoldersFiles.Contains(dir.Name)) 
     { 
      item = new ListViewItem(dir.Name, 0); 
      subItems = new ListViewItem.ListViewSubItem[] 
        {new ListViewItem.ListViewSubItem(item, "Directory"), 
        new ListViewItem.ListViewSubItem(item, 
        dir.LastAccessTime.ToShortDateString())}; 
      item.SubItems.AddRange(subItems); 
      listView1.Items.Add(item); 
     } 
    } 

Antwort

1

Try Verwendung dieses Beispiel es funktioniert sehr gut ist

protected void Page_Load(object sender, EventArgs e) 
     { 
      if (!this.IsPostBack) 
      { 
       DirectoryInfo rootInfo = new DirectoryInfo(Server.MapPath("~/MyFolder/")); 
       this.PopulateTreeView(rootInfo, null); 
      } 
     } 

     private void PopulateTreeView(DirectoryInfo dirInfo, TreeNode treeNode) 
     { 
      foreach (DirectoryInfo directory in dirInfo.GetDirectories()) 
      { 
       TreeNode directoryNode = new TreeNode 
       { 
        Text = directory.Name, 
        Value = directory.FullName 
       }; 

       if (treeNode == null) 
       { 
        //If Root Node, add to TreeView. 
        TreeView1.Nodes.Add(directoryNode); 
       } 
       else 
       { 
        //If Child Node, add to Parent Node. 
        treeNode.ChildNodes.Add(directoryNode); 
       } 

       //Get all files in the Directory. 
       foreach (FileInfo file in directory.GetFiles()) 
       { 
        //Add each file as Child Node. 
        TreeNode fileNode = new TreeNode 
        { 
         Text = file.Name, 
         Value = file.FullName, 
         Target = "_blank", 
         NavigateUrl = (new Uri(Server.MapPath("~/"))).MakeRelativeUri(new Uri(file.FullName)).ToString() 
        }; 
        directoryNode.ChildNodes.Add(fileNode); 
       } 

       PopulateTreeView(directory, directoryNode); 
      } 
     } 
+0

Ihre Antwort das grundlegende Konzept bot eine asp.net Dateibrowser treeview zu bauen, vielen Dank für Ihre Zeit! – user3318152

Verwandte Themen