用TreeView显示某一文件夹下的所有目录和文件

本文介绍了一个使用 ASP.NET 2.0 和 C# 实现的文件目录树视图组件。该组件能够递归地加载指定路径下的所有子目录及文件,并将它们以树形结构展示出来。

网络上居然找不到现成的代码,特此补充一篇.

关键字:TreeView,asp.net2.0,c#,文件,目录



public

partial class Admin_FileList_Test : System.Web.UI.Page<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

{

    protected void Page_Load(object sender, EventArgs e)

    {

        if (!Page.IsPostBack)

        {

            TreeNode tn = new TreeNode();

            tn.Text = "根目录";

            getDirectories(Server.MapPath("../"), tn);

 

            TreeView1.Nodes.Add(tn);

        }

    }

 

    /// <summary>

    /// 循环遍历获得某一目录下的所有文件信息

    /// </summary>

    /// <param name="path">目录名</param>

    /// <param name="tn">树节点</param>

    private static void getDirectories(string path,TreeNode tn)

    {

        string[] fileNames = Directory.GetFiles(path);

        string[] directories = Directory.GetDirectories(path);

       

        //先遍历这个目录下的文件夹

        foreach (string dir in directories)

        {

            TreeNode subtn = new TreeNode();

            subtn.Text = GetShorterFileName(dir);

            subtn.ImageUrl = "~/Images/open.gif";

            subtn.Expanded = false;

            subtn.NavigateUrl = "#";

            getDirectories(dir,subtn);

            tn.ChildNodes.Add(subtn);

        }

 

        //再遍历这个目录下的文件

        foreach (string file in fileNames)

        {

            TreeNode subtn = new TreeNode();

            subtn.ImageUrl = "~/Images/file.gif";

            subtn.Text = GetShorterFileName(file);

            tn.ChildNodes.Add(subtn);

        }

    }

 

    /// <summary>

    /// 滤去文件名前面的路径

    /// </summary>

    /// <param name="filename"></param>

    /// <returns></returns>

    private static string GetShorterFileName(string filename)

    {

        return "&nbsp;"+filename.Substring(i+1);

    }

}

 

转载于:https://www.cnblogs.com/aspnetx/archive/2007/09/03/880419.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值