我有自动显示上传图片的代码。我遇到的问题是图片按字母顺序显示。我希望它们根据上传时间显示,最新的图片位于顶部,最旧的图片位于底部。
这是我的代码。
default.aspx.cs:
string[] filesindirectory = Directory.GetFiles(Server.MapPath("~/Images"));
List<String> images = new List<string>(filesindirectory.Count());
foreach (string item in filesindirectory)
{
if (System.IO.Path.GetFileName(item) != "Thumbs.db")
{
images.Add(String.Format("~/Images/{0}"System.IO.Path.GetFileName(item)));
}
}
RepeaterImages.DataSource = images;
RepeaterImages.DataBind();
的Default.aspx:
<asp:Repeater ID="RepeaterImages" runat="server">
<ItemTemplate>
<asp:Image ID="Image" class="image" runat="server" height="250" width="250" ImageUrl='<%# Container.DataItem %>' /></a>
</ItemTemplate>
</asp:Repeater>
答案 0 :(得分:0)
将filesInDirectory转换为FileInfo对象列表,然后按所选日期对其进行排序。 (语法约)
string[] filesindirectory = Directory.GetFiles(Server.MapPath("~/Images"));
var files = new List<FileInfo>();
foreach (var str in filesInDirectory)
{
files.Add(new FileInfo(str));
}
foreach (var file in files.OrderBy(f => f.CreationTime))
{
//image handling
}