2009-07-23 117 views
0

我想寫一個應用程序,允許用戶點擊一個按鈕,看看圖像縮略圖從文件夾中的一個模式彈出。在我的模式彈出窗口中,我有一個datalist。但從那裏我不知道該去哪裏。我已經嘗試過4guysfromrolla解決方案,但它不是我所期待的。我如何設置縮略圖圖像?我已經有以下....縮略圖asp.net

Dim files As String() = Directory.GetFiles(Server.MapPath("~/Folder1/Folder2/"), "*.jpg") 

    For Each File As String In files 
     File = File.Substring(File.LastIndexOf("/") + 1, File.Length) 
     'Response.Write(File & "<br>") 

     File = File & "~/Folder1/Folder2/" 

     Dim image As Image = New Image() 
     image.ImageUrl = File 
     image.Height = 50 
     image.Width = 50 
     Me.Controls.Add(image) 

    Next 

編輯:新問題

我想改變圖像的大小在JavaScript的onmouseover。

image.Attributes.add("onmouseover","change size here") 

Panel2.controls.add(image) 

在這裏可以做到這一點嗎?

+0

好的,那麼它看起來像你已經完成了縮略圖模式窗口。你想問什麼? – Canavar 2009-07-24 06:22:30

+0

對不起,我更清楚一點。 – Eric 2009-07-24 12:27:45

回答

3
<asp:DataList ID="dl_thumbs" runat="server"> 
<ItemTemplate> 
    <img src="<%# Eval("imageUrl") %>" height="50" width="50" title="<%# Eval("imageTitle") %>" alt="<%# Eval("imageAlt") %>"/> 
</ItemTemplate> 
</asp:DataList> 



private void InitData(string folder) 
{ 

    var files = Directory.GetFiles(Server.MapPath(folder)); 



    var images = files.Select(i => 
         new 
         { 
          imageUrl = folder + Path.GetFileName(i), 
          imageTitle = Path.GetFileName(i), 
          imageAlt = Path.GetFileName(i) 
         }); 

    dl_thumbs.DataSource = images; 
    dl_thumbs.DataBind(); 
} 

圖像文件如何保存在您的文件夾結構中?

縮略圖通常處理和優化的原始文件的版本。

原始文件500×500,然後大拇指將被加工到50×50。

你應該有2個(或以上版本中,你的圖像。)

myfavImageName.jpg

myfavImageName.thumb.jpg

,甚至添加其他文件夾[大拇指]

/Folder1/Folder2/myfavImageName.jpg

/Folder1/Folder2/thumbs/myfavImageName.jpg

您還可以使用路徑來獲取文件名。它更少的錯誤傾向:

filename = Path.GetFileName(File); 
0

這就是我所做的。

Dim files As String() = Directory.GetFiles(Server.MapPath("~/folder1/folder2/"), "*.jpg") 
    For Each File As String In files 
     Dim substr As String = File.Substring(0, File.LastIndexOf("\")) 

     File = File.Replace(substr, "") 

     File = "~/Folder1/Folder2" & File 
     Dim image As Image = New Image() 
     image.ImageUrl = File 
     image.Height = 50 
     image.Width = 50 
     Panel1.Controls.Add(image) 
     'Panel1.FindControl("dlpictures").Controls.Add(image) 
    Next