首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> ASP.NET 基礎 >> ASP.NET 基礎

ASP.NET 使用 TreeView 顯示文件系統目錄結構(教學版)

     編輯:ASP.NET 基礎

實現步驟

1. 添加 TreeView 控件


2. 頁面加載初始化磁盤節點

protected void Page_Load(object sender, EventArgs e)
{
    foreach (DriveInfo drive in DriveInfo.GetDrives())
    {
        TreeNode node = new TreeNode();
        node.Value = drive.Name;
        node.PopulateOnDemand = true;
        node.Expanded = false;
        
        if (drive.IsReady)
            node.Text = $"{drive.Name} ({drive.VolumeLabel})";
        else
            node.Text = $"{drive.Name} (未就緒)";
        
        driverInfoView.Nodes.Add(node);
    }
}

3. 節點展開事件動態加載內容

protected void driverInfoView_TreeNodePopulate(object sender, TreeNodeEventArgs e)
{
    DirectoryInfo dir = new DirectoryInfo(e.Node.Value);
    
    foreach (DirectoryInfo subDir in dir.GetDirectories())
    {
        TreeNode child = new TreeNode();
        child.Text = subDir.Name;
        child.Value = subDir.FullName;
        child.PopulateOnDemand = true;
        child.Expanded = false;
        e.Node.ChildNodes.Add(child);
    }
    
    foreach (FileInfo file in dir.GetFiles())
    {
        TreeNode fileNode = new TreeNode();
        fileNode.Text = file.Name;
        fileNode.Value = file.FullName;
        e.Node.ChildNodes.Add(fileNode);
    }
}

核心機制

  • PopulateOnDemand="true":節點首次展開時觸發後台事件,避免一次性遞歸遍歷導致卡頓
  • TreeNode.Value 存儲物理全路徑,作為後續查詢依據
  • ImageSet="XPFileExplorer":內置資源管理器風格圖標

幾十行代碼實現類 Windows 資源管理器的 Web 版文件瀏覽體驗。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved