[英]How do I add the modified date of my folder files to my GridView?
我已经制作了一个应用程序,可以成功显示asp:GridView
文件夹中的文件,并允许用户下载。
这是我的代码背后:
string[] filePaths = Directory.GetFiles(Server.MapPath(strDirectory));
List<ListItem> files = new List<ListItem>();
foreach (string filePath in filePaths)
{
files.Add(new ListItem(Path.GetFileName(filePath), filePath));
}
GridView1.DataSource = files;
GridView1.DataBind();
这是我的GridView
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false"
EmptyDataText = "No files uploaded" CssClass="mGrid" PageSize="20"
AllowPaging="True" AlternatingRowStyle-CssClass="alt"
OnPageIndexChanging="GridView1_PageIndexChanging" PagerStyle-CssClass="pgr">
<Columns>
<asp:BoundField DataField="Text" HeaderText="File Name" />
<asp:TemplateField>
<ItemTemplate>
<asp:LinkButton ID="lnkDownload" Text = "Download"
CommandArgument = '<%# Eval("Value") %>' runat="server"
OnClick = "DownloadFile"></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
我现在想做的是在gridview列中添加修改日期,以便我的用户可以更轻松地找到客户需要的正确文档。 我该怎么办?
您将需要比GridView
的文件名更详细的信息,因为Directory.GetFiles()
方法仅返回路径。 在您的代码中,尝试使用类似这样的方法代替Directory.GetFiles()
:
DirectoryInfo di = new DirectoryInfo(Server.MapPath(strDirectory));
List<FileInfo> files = di.GetFiles().ToList();
GridView1.DataSource = files;
GridView1.DataBind();
DirectoryInfo
类提供有关文件系统对象的更多详细信息,并为您提供更多数据(您也可以基于文件扩展名进行过滤)。 通过使用此方法,您无需做任何额外的工作即可获取有关文件的详细信息,并且在GridView
,您将可以通过使用以下方式访问每个文件的许多属性(包括修改的日期,名称和许多其他属性) DirectoryInfo
类的GetFiles()
方法。
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false"
EmptyDataText = "No files uploaded" CssClass="mGrid" PageSize="20"
AllowPaging="True" AlternatingRowStyle-CssClass="alt"
OnPageIndexChanging="GridView1_PageIndexChanging" PagerStyle-CssClass="pgr">
<Columns>
<asp:BoundField DataField="Name" HeaderText="File Name" />
<asp:BoundField DataField="LastWriteTime" HeaderText="Last Modified" />
<asp:TemplateField>
<ItemTemplate>
<asp:LinkButton ID="lnkDownload" Text = "Download"
CommandArgument = '<%# Eval("Name") %>' runat="server"
OnClick = "DownloadFile"></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
尝试这个
File.GetLastWriteTime(path);
这是完整的细节
http://msdn.microsoft.com/en-us/library/system.io.file.getlastwritetime(v=vs.110).aspx
获取FilePath之后,需要使用FileInfo类。 这个文件信息具有LastWriteTime,CreationTime之类的属性,使用这些属性可以排序和显示。 像内部循环一样,您需要在后面的代码中像这样使用
FileInfo fi1 = new FileInfo(filePath );
和使用
fi1.LastWriteTime
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.