62,072
社区成员
发帖
与我相关
我的任务
分享
<form id="myform" runat="server">
<div class="navigation">
首页 > 控制面板 > 上传文件管理</div>
<div class="tools_box">
<div class="tools_bar">
<a href="javascript:void(0);" class="tools_btn"><span><b class="all">全选</b></span></a>
<asp:LinkButton ID="btnDelete" runat="server" CssClass="tools_btn"><span><b class="delete">批量删除</b></span></asp:LinkButton>
</div>
<div class="select_box">
排序方式:<asp:DropDownList ID="ddlSortExpression" runat="server" CssClass="select2" AutoPostBack="True" OnSelectedIndexChanged="ddlSortExpression_SelectedIndexChanged">
<asp:ListItem Value="FileLastWriteTime" Selected="True">最后修改时间</asp:ListItem>
<asp:ListItem Value="FileName">文件名称</asp:ListItem>
<asp:ListItem Value="FileLength">文件大小</asp:ListItem>
</asp:DropDownList>
<asp:DropDownList ID="ddlSortDirection" runat="server" CssClass="select2" AutoPostBack="True" OnSelectedIndexChanged="ddlSortDirection_SelectedIndexChanged">
<asp:ListItem Value="DESC" Selected="True">升序</asp:ListItem>
<asp:ListItem Value="ASC">降序</asp:ListItem>
</asp:DropDownList>
</div>
</div>
<asp:Repeater ID="rptList" runat="server">
<HeaderTemplate>
<table width="100%" border="0" cellspacing="0" cellpadding="0" class="msgtable">
<tr>
<th width="6%">
选择
</th>
<th align="left">
文件名
</th>
<th align="left">
文件所属目录
</th>
<th width="10%">
文件大小
</th>
<th width="20%">
最后修改时间
</th>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr align="center">
<td>
<asp:CheckBox ID="chkId" CssClass="checkall" runat="server" />
<asp:HiddenField ID="hidId" Value='<%#Eval("FilePath")%>' runat="server" />
</td>
<td align="left">
<a href="<%#Eval("FilePath")%>" target="_blank">
<%#Eval("FileName")%></a>
</td>
<td align="left">
<%#Eval("FileDir")%>
</td>
<td>
<%#Eval("FileLength")%>
</td>
<td>
<%#Eval("FileLastWriteTime")%>
</td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
<div class="line15">
</div>
<div class="page_box">
<div id="PageContent" runat="server" class="flickr right">
</div>
</div>
</form>
using System;
using System.Text;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
using System.IO;
using UI;
namespace Web.admin.sys
{
public partial class Admin_File : BasePage
{
protected string File_List = "";
protected string _RrUrl, _SortExpression, _SortDirection;
protected void Page_Load(object sender, EventArgs e)
{
_SortExpression = Common.Utils.Get("SortExpression");
_SortDirection = Common.Utils.Get("SortDirection");
if (!IsPostBack)
{
BindGrid();
}
}
///<summary>
///遍文件夹下的所有子文件夹下的文件
///</summary>
///<param name="ObjDirPath">文件夹</param>
public void GetFiles(string ObjDirPath)
{
DirectoryInfo SourceDir = new DirectoryInfo(ObjDirPath);
DirectoryInfo[] subDirectories = SourceDir.GetDirectories();//获得目录
// 遍历目录
foreach (DirectoryInfo dirinfo in subDirectories)
{
if (dirinfo is DirectoryInfo)
{
GetFiles(dirinfo.FullName);
}
}
// 遍历文件
DirectoryInfo defaultDir = new DirectoryInfo(ObjDirPath);
FileInfo[] fileInfo = defaultDir.GetFiles(); //目录下的文件
foreach (FileInfo fInfo in fileInfo)
{
string FilePath = "";
FilePath = fInfo.FullName;
FilePath = FilePath.Replace("//", "/");//这里在路径前加了../,因为我的项目里页面文件和上传文件夹不是同级文件夹
File_List += FilePath + ",";
}
}
///<summary>
///构造DataTABLE来绑定GRIDVIEW
///</summary>
///<returns></returns>
public DataTable FileDataTable()
{
string _FilePathDir = "/UpFile/";
GetFiles(Server.MapPath(@_FilePathDir));
//构造DataTABLE
DataTable dt = new DataTable();
dt.Columns.Add(new DataColumn("FileDir", typeof(string)));
dt.Columns.Add(new DataColumn("FilePath", typeof(string)));
dt.Columns.Add(new DataColumn("FileName", typeof(string)));
dt.Columns.Add(new DataColumn("FileLength", typeof(string)));
dt.Columns.Add(new DataColumn("FileLastWriteTime", typeof(string)));
DataRow dr;
//将文件数组集合切割到数组
string[] dtaArry = File_List.Split(',');
for (int i = 0; i < dtaArry.Length; i++)
{
if (dtaArry[i].Trim() != "")//防空元素
{
dr = dt.NewRow();
dr[0] = "/" + Common.FileHelper.GetUrlConvertor(dtaArry[i]).Replace(Path.GetFileName(dtaArry[i]), "");//文件所属目录
dr[1] = "/" + Common.FileHelper.GetUrlConvertor(dtaArry[i]);//文件路径
dr[2] = Path.GetFileName(dtaArry[i]);//文件名
//获取文件大小
FileInfo fInfo = new FileInfo(@dtaArry[i]);
dr[3] = Common.FileHelper.ReturnFileSize(fInfo.Length.ToString());//获取的是字节byte,还需要转换为千字节KB
dr[4] = Common.TimeHelper.ShowDate(fInfo.LastWriteTime, "", 1);
dt.Rows.Add(dr);
}
}
return dt;
}
///<summary>
///绑定gridview
///</summary>
private void BindGrid()
{
this.ddlSortDirection.SelectedValue = this._SortDirection.ToString();
this.ddlSortExpression.SelectedValue = this._SortExpression.ToString();
//获取数据源
DataTable dtb = FileDataTable();
//排序
string SortDirection = this.ddlSortDirection.SelectedValue.ToString();
string SortExpression = this.ddlSortExpression.SelectedValue.ToString();
dtb.DefaultView.Sort = string.Format("{0} {1}", SortExpression, SortDirection);
//赋数据源并绑定
rptList.DataSource = dtb;
rptList.DataBind();
}
protected void rptList_ItemCommand(object source, RepeaterCommandEventArgs e)
{
}
protected void ddlSortExpression_SelectedIndexChanged(object sender, EventArgs e)
{
_RrUrl = Common.Utils.UrlTxt("Admin_File.aspx", "SortExpression={0}&SortDirection={1}", this.ddlSortExpression.SelectedValue.ToString(), this._SortDirection);
Response.Redirect(_RrUrl);
}
protected void ddlSortDirection_SelectedIndexChanged(object sender, EventArgs e)
{
_RrUrl = Common.Utils.UrlTxt("Admin_File.aspx", "SortExpression={0}&SortDirection={1}", this._SortExpression.ToString(), this.ddlSortDirection.SelectedValue.ToString());
Response.Redirect(_RrUrl);
}
protected void btnDelete_Click(object sender, EventArgs e)
{
}
}
}