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 ...
随机推荐
- Linux-0.11内核源代码分析系列:内存管理get_free_page()函数分析
Linux-0.11内存管理模块是源码中比較难以理解的部分,如今把笔者个人的理解发表 先发Linux-0.11内核内存管理get_free_page()函数分析 有时间再写其它函数或者文件的:) /* ...
- ubuntu下ffmpeg的安装,实现支持3gpp等转换
最近上线的项目,语音格式转码需要调试3gpp,所以需要再spx,3gpp,3gp等格式之间转换,特记录基于ubuntu环境下的环境ffmpeg部署细则 安装测试环境:ubuntu 14.04 64bi ...
- Visual Studio常用的快捷键
每次在网上搜关于VS有哪些常用快捷键的时候,出来的永远是一串长的不能再长的列表,完全没体现出“常用”二字,每次看完前面几个就看不下去了,相信大家都 有这种感觉.其实我们平时用的真的只有很少的一部分 ...
- 【初级坑跳跳跳】第一个应用布局学习的代码运行时出错(manifest里未将activity先注册,控件错误)
首先,根据书中想要实现的结果,看了下书中代码,大致知道布局是怎么样的,然后根据图片自己写xml, 1.运行时第一个坑是 忘记在AndroidManifest.xml里先注册activity,导致运行时 ...
- C#中的多线程使用 -- Thread 类详解(转)
现在C#已经建议摈弃使用 Suspend, Resume 暂停/恢复线程, 也尽量少用 Abort方法中断一个线程. 建议使用线程的同步手段有: Mutex.ManualResetEvent.Auto ...
- 在windows下安装mysql
本文主要讲mysql解压版在windows下的安装和配置,在官网http://www.mysql.com/下载mysql-cluster-gpl-7.3.7-winx64.zip,然后将mysql解压 ...
- jqGrid实现虚拟滚动和合并单元格
如图: 关键点:1.scroll: 1, //虚拟滚动,解决大数据一次性加载慢的问题,同时解决分页 2.function merge(names)//自定义函数 $(function () { //查 ...
- 使用runtime 实现weex 跳转原生页面
一.简述 最近项目组打算引入weex,并选定了一个页面进行试水.页面很简单,主要是获取数据渲染页面,并可以跳转到指定的页面.跟之前使用RN 相比,weex 确实要简单很多.从下图中我们可以看到,wee ...
- Python之路第六天,基础(7)-正则表达式(re)
Python RE模块(正则表达式) 就其本质而言,正则表达式(或 RE)是一种小型的.高度专业化的编程语言,(在Python中)它内嵌在Python中,并通过 re 模块实现.正则表达式模式被编译成 ...
- MySQL入门转载
21分钟 MySQL 入门教程 http://www.cnblogs.com/mr-wid/archive/2013/05/09/3068229.html 目录 一.MySQL的相关概念介绍 二.Wi ...