ASP.NET中使用TreeView显示文件

在ASP.NET中,TreeView的使用很普遍,把它利用上来

首先加入TreeView控件

Html代码  收藏代码
  1. <asp:TreeView ID="driverInfoView" runat="server" ImageSet="XPFileExplorer" OnTreeNodePopulate="driverInfoView_TreeNodePopulate">  
  2.           
  3.     </asp:TreeView>  

 当页面加载的时候,写下以下代码

C#代码  收藏代码
  1. protected void Page_Load(object sender, EventArgs e)  
  2.     {  
  3.         foreach (DriveInfo driverInfo in DriveInfo.GetDrives())  
  4.         {  
  5.             TreeNode newNode = new TreeNode();  
  6.             newNode.Expanded = false;  
  7.             newNode.PopulateOnDemand = true;  
  8.             newNode.Value = driverInfo.Name;  
  9.   
  10.             if (driverInfo.IsReady)  
  11.             {  
  12.                 newNode.Text = driverInfo.Name + "(" + driverInfo.VolumeLabel + ")";  
  13.             }  
  14.             else  
  15.             {  
  16.                 newNode.Text = driverInfo.Name + "(还没准备好)";  
  17.             }  
  18.             this.driverInfoView.Nodes.Add(newNode);  
  19.         }  
  20.     }  

 设置TreeView节点的事件

C#代码  收藏代码
  1. protected void driverInfoView_TreeNodePopulate(object sender, TreeNodeEventArgs e)  
  2.     {  
  3.         DirectoryInfo dictInfo = new DirectoryInfo(e.Node.Value);  
  4.   
  5.         foreach (DirectoryInfo directory in dictInfo.GetDirectories())  
  6.         {  
  7.             TreeNode newNode = new TreeNode();  
  8.             newNode.Expanded = false;  
  9.             newNode.PopulateOnDemand = true;  
  10.             newNode.Text = directory.Name;  
  11.             newNode.Value = directory.FullName;  
  12.             e.Node.ChildNodes.Add(newNode);  
  13.         }  
  14.   
  15.         foreach (FileInfo fileInfo in dictInfo.GetFiles())  
  16.         {  
  17.             TreeNode newNode = new TreeNode();  
  18.             newNode.Text = fileInfo.Name;  
  19.             newNode.Value = fileInfo.FullName;  
  20.             e.Node.ChildNodes.Add(newNode);  
  21.         }  
  22.     }  
原文地址:https://www.cnblogs.com/ranzige/p/3963772.html