zoukankan      html  css  js  c++  java
  • 用TreeView显示某一文件夹下的所有目录和文件

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

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



    public partial class Admin_FileList_Test : System.Web.UI.Page

    {

        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);

        }

    }

  • 相关阅读:
    约瑟夫环问题拓展 C/C++
    C/C++之STL简介
    详解约瑟夫环问题 C/C++
    HC-SR04超声波传感器
    TCRT5000 红外传感器
    win10的docker无法运行mysql的image,Public Key Retrieval is not allowed
    如何将docker默认的安装位置从C盘改为D盘?
    免费PDF阅读器
    A1B2B3
    动态代理
  • 原文地址:https://www.cnblogs.com/aspnetx/p/880419.html
Copyright © 2011-2022 走看看