读取文件夹和子文件夹下所有文件_第1页
读取文件夹和子文件夹下所有文件_第2页
读取文件夹和子文件夹下所有文件_第3页
读取文件夹和子文件夹下所有文件_第4页
读取文件夹和子文件夹下所有文件_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、(C#)读取文件夹和子文件夹下所有文件,绑定到GRIDVIEW并排序Asp部分:<% Page Language="C#" AutoEventWireup="true" CodeBehind="MyFiles_List.aspx.cs" Inherits="lbWeb.webAdmin.MyFiles_List" %><!DOCTYPE html PUBLIC "-/W3C/DTD XHTML 1.0 Transitional/EN" "http:/www.w3.or

2、g/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="/1999/xhtml" ><head runat="server">    <title>无标题页</title>        <script language="javascript" type="te

3、xt/javascript">    function selectAll(obj)               var theTable = obj.parentElement.parentElement.parentElement;             var i;   &#

4、160;        var j = obj.parentElement.cellIndex;               for(i=0;i<theTable.rows.length;i+)                   &

5、#160;         var objCheckBox = theTable.rowsi.cellsj.firstChild;             if(objCheckBox.checked!=null)objCheckBox.checked = obj.checked;            &#

6、160;     </script></head><body>    <form id="form1" runat="server">    <div>    <table width="100%">      <tr>     

7、60;  <td>        文件管理                </td>      </tr>      <tr>        <td>

8、             <asp:GridView Width="100%" runat="server" ID="gridFileList"                  AutoGenerateColumns="false"

9、 CellPadding="4" ForeColor="#333333"                  GridLines="None" OnRowDataBound="gridFileList_RowDataBound" AllowPaging="True"       &

10、#160;          PageSize="6" OnPageIndexChanging="gridFileList_PageIndexChanging"                  AllowSorting="True" onsorting="gridFileLis

11、t_Sorting" >        <Columns>        <asp:TemplateField>        <ItemStyle HorizontalAlign="Center" />         

12、60;      <HeaderTemplate>&nbsp;<input id="CheckAll" type="checkbox" onclick="selectAll(this);" />全选</HeaderTemplate>                  

13、0;            <ItemTemplate>                    <asp:CheckBox runat="server" ID="chkDel" />    

14、60;           </ItemTemplate>            </asp:TemplateField>             <asp:TemplateField HeaderText="序号" Insert

15、Visible="False">              <ItemStyle HorizontalAlign="Center" />             <ItemTemplate>       

16、60;         <asp:Label ID="Label2" runat="server" Text='<%# this.gridFileList.PageIndex * this.gridFileList.PageSize + this.gridFileList.Rows.Count + 1%>'/>           

17、60;</ItemTemplate>            </asp:TemplateField>              <asp:TemplateField HeaderText="图片" InsertVisible="False">   

18、60;          <ItemStyle HorizontalAlign="Center" />             <ItemTemplate>                

19、; <asp:Image ID="ImgPath" runat="server" Width="150" Height="80" />            </ItemTemplate>            </asp:TemplateField> 

20、           <asp:BoundField DataField="FileName" HeaderText="名称" SortExpression="FileName" >                <ItemStyle Horizont

21、alAlign="Center" />            </asp:BoundField>             <asp:BoundField DataField="FileLength" HeaderText="大小" SortExpression="FileLe

22、ngth" >                <ItemStyle HorizontalAlign="Center" />            </asp:BoundField>        &#

23、160;   <asp:BoundField DataField="FilePath" ShowHeader="false">                <ItemStyle HorizontalAlign="Center" />         &#

24、160;  </asp:BoundField>             <asp:BoundField DataField="FileLastWriteTime" HeaderText="修改时间" SortExpression="FileLastWriteTime" >          &#

25、160;     <ItemStyle HorizontalAlign="Center" />            </asp:BoundField>         </Columns>    </asp:GridView>   

26、0;    </td>      </tr>              <tr>            <td align="center" class="sub_bg"> 

27、0;                      <asp:Button runat="server" ID="btnAdd" Text="添 加" OnClick="btnAdd_Click" />&nbsp;       

28、60;    <asp:Button runat="server" ID="btnDel" Text="删 除" OnClick="btnDel_Click" OnClientClick="return confirm('提示:确定要删除吗?');" />            </td>  

29、60;     </tr>     </table>    </div>    </form></body></html>  CS部分:using System;using System.Collections;using System.Configuration;using System.Data;using System.Web;using System.Web

30、.Security;using System.Web.UI;using System.Web.UI.HtmlControls;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.IO;using System.Text; namespace lbWeb.webAdmin    public partial class MyFiles_List : System.Web.UI.Page     &#

31、160;      protected string File_List=""        protected void Page_Load(object sender, EventArgs e)                    if (!IsPostBack) 

32、;                           /设定初始排序字段为文件修改时间FileLastWriteTime                gridFileList.Attributes

33、.Add("SortExpression", "FileLastWriteTime");                gridFileList.Attributes.Add("SortDirection", "DESC");             

34、;         BindGrid();                            /<summary>        /要显示的文件扩展名   

35、;     /</summary>        /<param name="type"></param>        /<returns></returns>        public bool checkFileType(string type) &#

36、160;                  bool FileType = false;            string type_ = new string4;            type = type.ToL

37、ower();            type_0 = ".jpg"            type_1 = ".gif"            type_2 = ".jpeg"  

38、0;         type_3 = ".png"            /可在此添加上传文件的后缀名            for (int i = 0; i < type_.Length; i+)      

39、                      if (type.Contains(type_i.ToString()                        

40、0;           FileType = true;                                      

41、60; return FileType;                /<summary>        /遍文件夹下的所有子文件夹下的文件        /</summary>        /<param name

42、="ObjDirPath">文件夹</param>        public void GetFiles(string ObjDirPath)                    DirectoryInfo SourceDir = new DirectoryInfo(ObjDirPath); &#

43、160;           foreach (FileSystemInfo FSI in SourceDir.GetFileSystemInfos()                            if (FSI is Direc

44、toryInfo)                                    /如果是文件夹则递归            

45、60;       GetFiles(FSI.FullName);                                else        

46、60;                           /如果是符合要求的文件则垒加集合,因为我只要求显示图片文件,在checkFileType方法里定义要显示文件的扩展名              

47、60;     if (checkFileType(FSI.Extension)                                         

48、;   /由于是物理路径,如e:/luobing_web/uploadfiles/picture/test.jpg这种形式,需要提取虚拟路径,如:./uploadfiles/picture/test.jpg                        string FilePath = "" /一步写来看起混乱,就分开写了&#

49、160;                       FilePath = FSI.FullName.ToLower();                     

50、60;  FilePath = FilePath.Substring(FilePath.LastIndexOf("uploadfiles/");                        FilePath = "./"+FilePath.Replace("/", "/");/

51、这里在路径前加了./,因为我的项目里页面文件和上传文件夹不是同级文件夹                        File_List += FilePath + ","               

52、;                                                 /<summary>  &#

53、160;     /构造DataTABLE来绑定GRIDVIEW        /</summary>        /<returns></returns>        public DataTable FileDataTable()      &#

54、160;             GetFiles(Server.MapPath("/UploadFiles/");            /构造DataTABLE            DataTable dt = new DataTable();

55、            dt.Columns.Add(new DataColumn("FilePath", typeof(string);            dt.Columns.Add(new DataColumn("FileName", typeof(string);     &#

56、160;      dt.Columns.Add(new DataColumn("FileLength", typeof(string);            dt.Columns.Add(new DataColumn("FileLastWriteTime", typeof(string);         

57、;   DataRow dr;            /将文件数组集合切割到数组            string dtaArry = File_List.Split(',');            for (int i = 0;

58、 i < dtaArry.Length; i+)                            if (dtaArryi.Trim() != "")/防空元素            &#

59、160;                       dr = dt.NewRow();                    dr0 = dtaArryi;/文件路径  

60、0;                 dr1 = Path.GetFileName(dtaArryi);/文件名                    /获取文件大小       

61、             FileInfo FI = new FileInfo(Server.MapPath(dtaArryi);                    dr2 = Convert.ToString(FI.Length / 1000)+"KB"/获取的是

62、字节byte,还需要转换为千字节KB                    dr3 = FI.LastWriteTime;                    dt.Rows.Add(dr);  &

63、#160;                                     return dt;              

64、;   /<summary>        /绑定gridview        /</summary>        private void BindGrid()                

65、;    /获取数据源            DataTable dtb = FileDataTable();            /排序            string SortDirection = gridFileList.At

66、tributes"SortDirection".ToString();            string SortExpression = gridFileList.Attributes"SortExpression".ToString();            dtb.DefaultView.Sort = string.Format

67、("0 1", SortExpression, SortDirection);            /赋数据源并绑定            gridFileList.DataSource = dtb;            gridFileList

68、.DataBind();                /<summary>        /添加        /</summary>        /<param name="sender">

69、;</param>        /<param name="e"></param>        protected void btnAdd_Click(object sender, EventArgs e)                 

70、   Response.Redirect("MyFiles_Add.aspx");                /<summary>        /删除        /</summary>     &

71、#160;  /<param name="sender"></param>        /<param name="e"></param>        protected void btnDel_Click(object sender, EventArgs e)         

72、;           try                            FileInfo fileinfo;          

73、;      bool IsSelect = false;                for (int i = 0; i < gridFileList.Rows.Count; i+)                  &

74、#160;                 GridViewRow row = gridFileList.Rowsi;                    if (CheckBox)row.FindControl("chkDel"

75、;).Checked)                                            IsSelect = true;   &

76、#160;                    Image Img = (Image)gridFileList.Rowsi.Cells0.FindControl("ImgPath");                 

77、       fileinfo = new FileInfo(Request.MapPath(Img.ImageUrl);                        if (fileinfo.Exists)        &#

78、160;                                           fileinfo.Delete();     

79、                                                   

80、0;                   if (IsSelect)                               

81、     ValueChecked.MessageBox(Page, "删除成功!");                                else      

82、0;                             ValueChecked.MessageBox(Page, "请选择要删除的行!");             

83、60;                          catch                          

84、  ValueChecked.MessageBox(Page, "删除失败!");                         BindGrid();                /<su

85、mmary>        /绑定数据行        /</summary>        /<param name="sender"></param>        /<param name="e"></param&

86、gt;        protected void gridFileList_RowDataBound(object sender, GridViewRowEventArgs e)                    if (e.Row.RowType = DataControlRowType.DataRow)                  

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论