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

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

关键字: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);

    }

}

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用以下步骤来显示服务端目录文件夹文件: 1. 在 ASP.NET Web 应用程序中添加一个 TreeView 控件。 2. 在 Page_Load 事件中,编写以下代码来绑定 TreeView 控件: ```csharp protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { TreeNode rootNode = new TreeNode(); rootNode.Text = "根目录"; rootNode.Value = Server.MapPath("~"); treeView.Nodes.Add(rootNode); BindChildNodes(rootNode); } } private void BindChildNodes(TreeNode parentNode) { string[] subDirectories = Directory.GetDirectories(parentNode.Value); foreach (string subDirectory in subDirectories) { TreeNode node = new TreeNode(); node.Text = Path.GetFileName(subDirectory); node.Value = subDirectory; parentNode.ChildNodes.Add(node); BindChildNodes(node); } string[] files = Directory.GetFiles(parentNode.Value); foreach (string file in files) { TreeNode node = new TreeNode(); node.Text = Path.GetFileName(file); node.Value = file; parentNode.ChildNodes.Add(node); } } ``` 3. 在 BindChildNodes 方法中,使用 Directory 类来获取当前目录下的所有子目录文件,并将它们绑定到 TreeView 控件上。使用 Path 类来获取目录文件的名称。 4. 运行应用程序,您应该可以看到 TreeView 控件中列出了服务器上根目录下的所有子目录文件。 请注意,这只是一个简单的示例,没有对目录文件进行任何安全性检查。在实际应用中,您需要确保只显示应该显示目录文件,并对用户访问权限进行验证。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值