首先创建一个类,类名称为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 > )
{
int i = ;
foreach (DirectoryInfo tmpDirs in ds)
{
DataRow dr = dt.NewRow();
dr[] = i.ToString();
dr[] = tmpDirs.Name;
dr[] = tmpDirs.FullName;
dr[] = 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 > )
{
int i = ;
foreach (FileInfo tmpFI in FI)
{
DataRow dr = dt.NewRow();
dr[] = i.ToString();
dr[] = tmpFI.Name;
dr[] = tmpFI.Directory;
dr[] = tmpFI.FullName;
dr[] = tmpFI.Length;
dr[] = tmpFI.CreationTime;
dr[] = tmpFI.Extension;
dr[] = 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 > )
{
int i = ;
foreach (FileInfo tmpFI in FI)
{
DataRow dr = dt.NewRow();
dr[] = i.ToString();
dr[] = tmpFI.Name;
dr[] = tmpFI.Directory;
dr[] = tmpFI.FullName;
dr[] = tmpFI.Length;
dr[] = tmpFI.CreationTime;
dr[] = tmpFI.Extension;
dr[] = 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);
            }
        }

C# DropDownList绑定文件夹的更多相关文章

  1. winform treeview 绑定文件夹和文件

    转载:http://www.cnblogs.com/zhbsh/archive/2011/05/26/2057733.html #region treeview 绑定文件夹和文件 /// <su ...

  2. 递归法绑定文件夹到导航树&在指定文件夹下新建文件夹

    protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { if (Request.QueryString[&q ...

  3. 在Linux系统下限制指定目录的大小以及文件/文件夹数量

    背景说明 在Linux操作系统下有时需要限制一个指定文件夹的大小和文件夹内可存储的文件数量,有可能是出于安全的考量或者定制化的配置,这里我们提供了一种方案:用dd创建一个空的img镜像,进行格式化的配 ...

  4. asp.net(C#)读取文件夹和子文件夹下所有文件,绑定到GRIDVIEW并排序 .

    Asp部分: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="MyFiles ...

  5. asp.net 遍历文件夹下全部子文件夹并绑定到gridview上

    遍历文件夹下所有子文件夹,并且遍历配置文件某一节点中所有key,value并且绑定到GridView上 Helper app_Helper = new Helper(); DataSet ds = n ...

  6. iNeuOS工业互联网操作系统,增加搜索应用、多数据源绑定、视图背景设置颜色、多级别文件夹、组合及拆分图元

    目       录 1.      概述... 2 2.      搜索应用... 2 3.      多数据源绑定... 3 4.      视图背景设置颜色... 4 5.      多级别文件夹 ...

  7. Android加载SD卡目录,文件夹遍历,图片设置,设置文件对应打开方式等

    此案例主要说的是Android使用GridView加载SD卡下所有目录,文件夹多层遍历,文件图标修改,设置文件对应打开方式等功能. 如图: 代码: public class GridViewFile ...

  8. 文件夹管理工具(MVC+zTree+layer)(附源码)

    写在前 之前写了一篇关于 文件夹与文件的操作的文章  操作文件方法简单总结(File,Directory,StreamReader,StreamWrite )  把常用的对于文件与文件夹的操作总结了一 ...

  9. 读取assets文件夹下图片(ods_interview)

    今天看了一道题,现在总结一下里面使用到的知识点: 1.assets文件的访问: 原文出处:http://blog.csdn.net/fengyuzhengfan/article/details/383 ...

随机推荐

  1. 更新-----Scripts:执行双网卡绑定

    #!/bin/bash #------------------------------------------------------------------------------- # Name: ...

  2. STL源代码剖析 读书总结

    <<STL源代码剖析>> 侯捷著 非常早就买了这本书, 一直没看, 如今在实验室师兄代码的时候发现里面使用了大量泛型编程的内容, 让我有了先看看这本书的想法. 看之前我对于泛型 ...

  3. RMAN数据库恢复之恢复归档日志文件

    恢复归档日志文件如果只是为了在恢复数据文件之后应用归档文件,那并不需要手动对归档文件进行恢复,RMAN会在RECOVER时自动对适当的归档进行恢复.单独恢复归档文件一般是有特别的需求,如创建了Data ...

  4. DataSet、DataTable、DataRow区别

     DataSet 表示数据在内存中的缓存. 属性 Tables  获取包含在 DataSet 中的表的集合. ds.Tables["sjxx"] DataTable 表示内存中数据 ...

  5. C#自定义控件在添加引用后不显示在工具箱的解决方法

    先说一些背景: 在开发C#项目时,发现很多控件存在复用的情况,控件的属性都是要设置成一样的,我就想,能不能设置一个类来存放这个控件,这样我每次用的时候直接加一些特殊的操作就可以了,不需要再次设置控件属 ...

  6. latex 固定图片位置

    1,插入并列的子图 \usepackage{subfigure} \begin{figure}[H] \centering \subfigure[SubfigureCaption]{ \label{F ...

  7. 从汇编看c++初始化列表初始化成员变量

    简略来说,编译器会对初始化列表按照成员变量的声明顺序重新一一排序,安插到构造函数中进行初始化操作,而且这些初始化操作在构造函数里面用户自己定义的任何代码之前. 下面是c++源码: class X { ...

  8. javascript. String方法扩张.

    有时候觉得js内置的方法不够用.可自己扩充. 下面是我扩充的几个方法. 为了避免变量冲出.覆盖.利用自执行函数实现. +function (a) { a.fn = a.prototype; var f ...

  9. asp.net后台向前端输出js脚本的三种方法

    //这个方法最快,因为它会输出到html标签之前 Response.Write("<script type='text/javascript'>alert('这个最快')< ...

  10. PHP学习笔记,自己动手写个MVC的框架

    最新在大家自己的博客的过程中,发现各种开源的博客系统都或多或少的用起来别扭.于是想动手自己写个博客系统.既然写,就想好好写.那就先写个MVC框架.一点一点来.写的过程中有很多想法.还希望大家能够多多指 ...