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

 

你可能感兴趣的:(list)