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 ...
随机推荐
- ExtJS+ASP.NET自己定义曲线
第一步:创建Store数据源 var myData = []; myData.push({ 'name': '1', 'Oil_Production': '30', 'Water_Injection' ...
- 点击返回键退出popupwindow的方法
点击返回键退出popupwindow mPopupWindow.setFocusable(true); 这句非常重要,对背景不会有影响 mPopupWindow.setBackgroundDrawab ...
- Android 自己的自动化测试(4)<uiautomator>
在前面的系列文章.我与介绍java实现 Android 自己主动化測试(1)怎样安装和卸载一个应用(java).Android 自己主动化測试(2)依据ID查找对象(java):然后又介绍了用pyth ...
- activity之栈管理
在android中.一个activity组件能够激活还有一个activity组件:本程序activity和其他程序的activity. 若新的被激活的activity组件属于还有一个应用程序, ...
- Unity Layout碰撞检测
第一次看到LayerMask根本不知道是什么东东,后来问问度娘,看了几篇文章,终于看明白一点点,在网上看到各路大神的解释,终于明白了,LayerMask实际上是一个位码操作,在Unity3d中Laye ...
- 【数位DP】【HDU2089】不要62
不要62 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submi ...
- CSS-边框-效果
1.1边框 其中边框圆角.边框阴影属性,应用十分广泛,兼容性也相对较好,具有符合渐进增强原则的特性,我们需要重点掌握. 1.1.1边框圆角 border-radius 每个角可以设置两个值,x值,y值 ...
- ios9基础知识总结(一)
I--load 类被加载时自动调用,只要类的项目中,运行时就会加载.类一加载,此方法就会调用 //类被加载时调用,只要类的项目中,运行时就会加载,类一加载,此方法就调用 + (void)load { ...
- Mac下Apache服务器配置
一.Apache服务器 1. 使用最广的 Web 服务器 2. Mac自带,只需要修改几个配置就可以,简单,快捷 3. 有些特殊的服务器功能,Apache都能很好的支持 目的:让有一个自己专属的测试环 ...
- select语句后面加上for update的作用
Select…For Update语句的语法与select语句相同,只是在select语句的后面加FOR UPDATE [NOWAIT]子句. 该语句用来锁定特定的行(如果有where子句,就是满足w ...