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 > )
{
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绑定文件夹的更多相关文章
- winform treeview 绑定文件夹和文件
转载:http://www.cnblogs.com/zhbsh/archive/2011/05/26/2057733.html #region treeview 绑定文件夹和文件 /// <su ...
- 递归法绑定文件夹到导航树&在指定文件夹下新建文件夹
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { if (Request.QueryString[&q ...
- 在Linux系统下限制指定目录的大小以及文件/文件夹数量
背景说明 在Linux操作系统下有时需要限制一个指定文件夹的大小和文件夹内可存储的文件数量,有可能是出于安全的考量或者定制化的配置,这里我们提供了一种方案:用dd创建一个空的img镜像,进行格式化的配 ...
- asp.net(C#)读取文件夹和子文件夹下所有文件,绑定到GRIDVIEW并排序 .
Asp部分: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="MyFiles ...
- asp.net 遍历文件夹下全部子文件夹并绑定到gridview上
遍历文件夹下所有子文件夹,并且遍历配置文件某一节点中所有key,value并且绑定到GridView上 Helper app_Helper = new Helper(); DataSet ds = n ...
- iNeuOS工业互联网操作系统,增加搜索应用、多数据源绑定、视图背景设置颜色、多级别文件夹、组合及拆分图元
目 录 1. 概述... 2 2. 搜索应用... 2 3. 多数据源绑定... 3 4. 视图背景设置颜色... 4 5. 多级别文件夹 ...
- Android加载SD卡目录,文件夹遍历,图片设置,设置文件对应打开方式等
此案例主要说的是Android使用GridView加载SD卡下所有目录,文件夹多层遍历,文件图标修改,设置文件对应打开方式等功能. 如图: 代码: public class GridViewFile ...
- 文件夹管理工具(MVC+zTree+layer)(附源码)
写在前 之前写了一篇关于 文件夹与文件的操作的文章 操作文件方法简单总结(File,Directory,StreamReader,StreamWrite ) 把常用的对于文件与文件夹的操作总结了一 ...
- 读取assets文件夹下图片(ods_interview)
今天看了一道题,现在总结一下里面使用到的知识点: 1.assets文件的访问: 原文出处:http://blog.csdn.net/fengyuzhengfan/article/details/383 ...
随机推荐
- [转]WCF:如何将net.tcp协议寄宿到IIS
本文转自:http://www.cnblogs.com/Gyoung/archive/2012/12/11/2812555.html 1 部署IIS 1.1 安装WAS IIS原本是不支持非HTTP协 ...
- 将json的时间格式转换成正常的时间格式
/** * 对Date的扩展,将 Date 转化为指定格式的String * 月(M).日(d).12小时(h).24小时(H).分(m).秒(s).周(E).季度(q) 可以用 1-2 个占位符 * ...
- PL/SQL分页查询
create or replace procedure fenye(tabelname in varchar2,currentpage in number,pageSize in number,inW ...
- 【笔记】JS中的数组方法
push()方法:可以向数组的末尾添加一个或者多个元素,并且返回新的长度 pop()方法:可以删除数组最后一个元素,并且返回被删除的元素,注意:如果数组是空的,该方法不进行任何操作,返回undef ...
- PHP基础之 define() 函数
定义和用法 define() 函数定义一个常量. 常量类似变量,不同之处在于: 在设定以后,常量的值无法更改 常量名不需要开头的美元符号 ($) 作用域不影响对常量的访问 常量值只能是字符串或数字 语 ...
- 整理:GET与POST的区别
1.根据HTTP规范,GET用于信息获取,而且应该是安全的和幂等的. (1).所谓安全的意味着该操作用于获取信息而非修改信息.换句话说,GET 请求一般不应产生副作用.就是说,它仅仅是获取资源信息,就 ...
- .NET4.0下使用Net2.0类库或程序集
最近在项目上一直使用.net4.0 framework,使用ffmepeg下的一个dll时,提示只能在2.0下运行,解决方法如下: app.config中添加一个配置节:startup <?xm ...
- More is better--hdu1856(并查集)
More is better Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 327680/102400 K (Java/Others) ...
- C语言--流程控制
一.流程控制 1.顺序结构 *默认的流程结构,按照书写顺序执行每一条语句 2.选择结构 *对给定的条件进行判断,再根据判断结果来决定执行那一段代码 3.循环结构 *在给定条件成立的情况下,反复执行某一 ...
- 两阶段提交及JTA
两阶段提交及JTA 分布式事务 分布式事务简介 分布式事务是指会涉及到操作多个数据库(或者提供事务语义的系统,如JMS)的事务.其实就是将对同一数据库事务的概念扩大到了对多个数据库的事务.目的是为了保 ...