2014-02-14 25 views
0

我有自動顯示上傳圖像的代碼。我遇到的問題是圖片按字母順序顯示。我希望他們根據上傳時間顯示,最新的圖片是最高的,最低的。如何使用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> 

回答

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 
} 
+0

我應該把什麼放在圖像處理? – FJam

+0

如果你的原始foreach內。 – StingyJack

+0

foreach循環不是強制性的......你可以將列表項傳遞給視圖並在視圖中進行迭代 –