[英]Improvements and bug with this php to asp.net conversion?
我發現這對如何拍攝圖像的目錄,並建立一個畫廊了出來,並應用光盒插入到它的教程。 我不了解php,但我嘗試采用該代碼並對本教程進行asp.net/c#轉換,然后在這里運行 。
我面臨着一個問題,我也想知道是否可以做一些不同的事情。
我遇到的問題是,當您單擊不是第一張或最后一張圖像的圖像時,使用箭頭鍵向前和向后前進時,它從圖像12變為例如10到8到6等。否則可能會從2變為5到7。我不知道為什么會這樣。
至於生成圖庫的代碼,我有一種方法:
public string CreateGallery()
{
StringBuilder sb = new StringBuilder();
string directory = "gallery";
string[] allowedTypes = new string[] { "jpg", "jpeg", "gif", "png" };
string[] file_parts = new string[] { };
string ext = "";
string title = "";
int i = 0;
string[] files = System.IO.Directory.GetFiles(Server.MapPath(directory));
foreach (var file in files)
{
file_parts = Path.GetFileName(file).Split('.');
ext = file_parts[1];
title = file_parts[0];
string nomargin = "";
if (allowedTypes.Contains(ext))
{
if ((i + 1) % 4 == 0) nomargin = "nomargin";
sb.Append(string.Format("<div class=\"pic {0}\"
style=\"background:url('{1}') no-repeat 50%
50%\"><a href=\"{2}\" title=\"{3}\" target=\"_blank
\">{4}</a></div>",
nomargin, directory + "/" +
Path.GetFileName(file),
directory + "/" + Path.GetFileName(file),
Path.GetFileName(file),
Path.GetFileName(file)));
i++;
}
}
return sb.ToString();
}
我在<%=CreateGallery() %>
調用<%=CreateGallery() %>
。 基本上,我幾乎逐字復制了代碼,所以有什么我不需要做的事情(不必要的)。 <%=CreateGallery() %>
調用<%=CreateGallery() %>
是一個不錯的選擇,或者有更好的方法。 也歡迎其他改進。
我已經用更具體的術語解決了這個問題,但是我真的沒有適合您的解決方案。
首先單擊任何圖像即可。 當您關閉圖像並選擇一個新圖像時,問題就開始了。 對於您單擊的每個圖像,箭頭鍵將移動1張圖片。 因此,在您選擇第一個圖像時,它會完美運行; 每按一次箭頭鍵將移動一張圖片。 關閉第一張圖像並單擊第二張圖像后,箭頭鍵將移動2張圖片。 三幅圖像使箭頭鍵移動三幅圖像。
我的猜測是,每當用戶單擊圖像時,您都將為箭頭鍵創建某種事件處理程序,而在圖像關閉時不會刪除該事件處理程序。 因此,單擊三個圖像之后,單擊箭頭時,就會有三個事件處理程序沿圖像列表移動。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.