如何使用asp.net按顺序显示上传的图像

时间:2014-02-14 21:37:50

标签: asp.net

我有自动显示上传图片的代码。我遇到的问题是图片按字母顺序显示。我希望它们根据上传时间显示,最新的图片位于顶部,最旧的图片位于底部。

这是我的代码。

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>

1 个答案:

答案 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
}