C# DropDownList绑定文件夹

首先创建一个类,类名称为FileControl,

         /// <summary>
        /// 获取制定文件夹下面的文件夹
        /// </summary>
        /// <param name="FileDir">文件夹名称</param>
        /// <returns></returns>
        public static DataTable FileDirList(string FileDir)
        {
            DataTable dt = new DataTable();
            dt.Columns.Add("dir_id");
            dt.Columns.Add("dir_name");
            dt.Columns.Add("dir_dir");
            dt.Columns.Add("dir_create_time");

            try
            {
                string strXmlZipDirectory = FileDir;
                if (Directory.Exists(strXmlZipDirectory))
                {
                    DirectoryInfo di = new DirectoryInfo(strXmlZipDirectory);
                    DirectoryInfo[] ds = di.GetDirectories();
                    if (ds.Length > 0)
                    {
                        int i = 0;
                        foreach (DirectoryInfo tmpDirs in ds)
                        {
                            DataRow dr = dt.NewRow();
                            dr[0] = i.ToString();
                            dr[1] = tmpDirs.Name;
                            dr[2] = tmpDirs.FullName;
                            dr[3] = tmpDirs.CreationTime;
                            dt.Rows.InsertAt(dr, i);
                            i++;
                        }
                        return dt;
                    }
                    else
                    {
                        return dt;
                    }
                }
                else
                {
                    return dt;
                }
            }
            catch  
            {
               
                return dt;
            }
        }
        /// <summary>
        /// 获取指定文件夹下的文件,附加后缀过滤
        /// </summary>
        /// <param name="FileDir">文件夹名称</param>
        /// <param name="FileExtension">文件后缀</param>
        /// <returns></returns>
        public static DataTable FileList(string FileDir, string FileExtension)
        {
            DataTable dt = new DataTable();
            dt.Columns.Add("file_id");
            dt.Columns.Add("file_name");
            dt.Columns.Add("file_dir");
            dt.Columns.Add("file_url");
            dt.Columns.Add("file_size");
            qdt.Columns.Add("file_create_time");
            dt.Columns.Add("file_Extension");
            dt.Columns.Add("file_IsReadOnly");

            try
            {
                string strXmlZipDirectory = FileDir;
                if (Directory.Exists(strXmlZipDirectory))
                {
                    DirectoryInfo di = new DirectoryInfo(strXmlZipDirectory);
                    FileInfo[] FI = di.GetFiles(FileExtension);
                    if (FI.Length > 0)
                    {
                        int i = 0;
                        foreach (FileInfo tmpFI in FI)
                        {
                            DataRow dr = dt.NewRow();
                            dr[0] = i.ToString();
                            dr[1] = tmpFI.Name;
                            dr[2] = tmpFI.Directory;
                            dr[3] = tmpFI.FullName;
                            dr[4] = tmpFI.Length;
                            dr[5] = tmpFI.CreationTime;
                            dr[6] = tmpFI.Extension;
                            dr[7] = tmpFI.IsReadOnly;
                            dt.Rows.InsertAt(dr, i);
                            i++;
                        }
                        return dt;
                    }
                    else
                    {
                        return dt;
                    }
                }
                else
                {
                    return dt;
                }
            }
            catch  
            {
                
                return dt;
            }
        }
        /// <summary>
        /// 获取指定文件夹下面的文件名称
        /// </summary>
        /// <param name="FileDir">文件夹名称</param>
        /// <returns></returns>
        public static DataTable FileList(string FileDir)
        {
            DataTable dt = new DataTable();
            dt.Columns.Add("file_id");
            dt.Columns.Add("file_name");
            dt.Columns.Add("file_dir");
            dt.Columns.Add("file_url");
            dt.Columns.Add("file_size");
            dt.Columns.Add("file_create_time");
            dt.Columns.Add("file_Extension");
            dt.Columns.Add("file_IsReadOnly");

            try
            {
                string strXmlZipDirectory = FileDir;
                if (Directory.Exists(strXmlZipDirectory))
                {
                    DirectoryInfo di = new DirectoryInfo(strXmlZipDirectory);
                    FileInfo[] FI = di.GetFiles("*.*");
                    if (FI.Length > 0)
                    {
                        int i = 0;
                        foreach (FileInfo tmpFI in FI)
                        {
                            DataRow dr = dt.NewRow();
                            dr[0] = i.ToString();
                            dr[1] = tmpFI.Name;
                            dr[2] = tmpFI.Directory;
                            dr[3] = tmpFI.FullName;
                            dr[4] = tmpFI.Length;
                            dr[5] = tmpFI.CreationTime;
                            dr[6] = tmpFI.Extension;
                            dr[7] = tmpFI.IsReadOnly;
                            dt.Rows.InsertAt(dr, i);
                            i++;
                        }
                        return dt;
                    }
                    else
                    {
                        return dt;
                    }
                }
                else
                {
                    return dt;
                }
            }
            catch  
            {
               
                return dt;
            }
        }

在C#代码的调用和方法为

  /// <summary>
        /// 绑定后台文件夹
        /// </summary>
        protected void BackPageDir()
        {
            ListItem item2 = new ListItem("根目录", ""); 
            this.DropDownList_BackPageDir.Items.Add(item2);
            foreach (DataRow rows in FileControl.FileDirList(Server.MapPath("../")).Rows)
            {
                ListItem items = new ListItem(rows["dir_name"].ToString(), rows["dir_name"].ToString());
                this.DropDownList_BackPageDir.Items.Add(items);
            }
        }

 /// <summary>
        /// 绑定文件夹内的*.aspx文件或者*.html文件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void DropDownList_BackPageDir_SelectedIndexChanged(object sender, EventArgs e)
        {
            string strPath = "../";
            if (DropDownList_BackPageDir.SelectedValue.Length > 0)
            {
                strPath = "../" + DropDownList_BackPageDir.SelectedValue + "/";//获得选中的文件名
            }
            this.DropDownList_BackPage.Items.Clear();//清除Backpage内的数据
            foreach (DataRow rows in FileControl.FileList(Server.MapPath(strPath), "*.aspx").Rows)
            {
                //获取后缀为.aspx的文件
                ListItem items = new ListItem(rows["file_name"].ToString(), rows["file_name"].ToString());
                DropDownList_BackPage.Items.Add(items);
            }

            foreach (DataRow rows in FileControl.FileList(Server.MapPath(strPath), "*.html").Rows)
            {
                //获取后缀为.html的文件
                ListItem items = new ListItem(rows["file_name"].ToString(), rows["file_name"].ToString());
                DropDownList_BackPage.Items.Add(items);
            }
        }
原文地址:https://www.cnblogs.com/xiaobeiblog/p/3408652.html