2016-09-12 24 views
1

Windowsフォームアプリケーションで、ユーザーがフォルダ構造(TreeForm)とListView内のフォルダ内のファイルを表示できるようにするための関数を作成しました。今、私はWebFormアプリケーションのために同じ関数を作成する必要があります。私は同じコードを使用しようとしましたが、asp.net webformコントロールにwinformと同じプロパティが含まれていないことがわかりました。以下はコードの一部であり、どのように変換するのか判断できないため、Webフォームのページで使用することができます。誰も今どのようにasp.net webformで使用できるように、次のコードを変換するか?どんな支援も大歓迎です。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); 
     } 
    } 

答えて

1

てみ使用このサンプルでは、​​それは非常によく仕事だ

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

あなたの答えは、asp.netのファイルブラウザのツリービューを構築するための基本的な概念を提供し、あなたの時間をありがとう! – user3318152

関連する問題