2014-05-03 35 views
0

背後的圖像ashx從數據庫圖像計數(使用'爲')。問題是每個圖像顯示兩次..我搜索它,但無法找到解決方案。謝謝你..Fancybox問題背後創建的圖像代碼

fancybox ver:2.1.5 jquery:latest ver。

Label lbl = new Label(); 
       lbl.Text = "<a class=fancybox rel=group href=picture0.ashx?id=" + dt.Rows[i]["id"].ToString() + " style=margin-right:15px;>"; 
       Panel1.Controls.Add(lbl); 



       Image img = new Image(); 
       img.ImageUrl = "Picture0.ashx?id="+dt.Rows[i]["id"].ToString(); 
       img.Width = 110; 
       img.Height = 80;     
       Panel1.Controls.Add(img); 

       Label lbl2 = new Label(); 
       lbl2.Text = "</a>"; 
       Panel1.Controls.Add(lbl2); 

和html部分是;

$(文件)。就緒(函數(){ $( '的fancybox。')的fancybox({ '類型': '圖像',}); });

 <asp:Panel ID="Panel1" runat="server"> 

+0

它可能有助於包含您的代碼發出的實際源代碼HTML。你能看到生成的標記中的重複嗎? – geedubb

回答

0

這是因爲發生的方式,你正在生成的鏈接,ASP.NET Label控制轉變爲一個html span元素和文本是開始和結束標籤之間的內容。基本上,發生的事情是你已經破壞了HTML,並且你的瀏覽器正在追加額外的開啓和關閉a標籤,並在這個過程中製作重複的內容。

您呈現的輸出看起來是這樣的:

<span> 
    <a class=fancybox rel=group href=picture0.ashx?id=someid> 
    <img src=yoursrc/> 
</span> 
</a> 

更改Label控件Literals和你的代碼應該工作,你也應該用引號括起來的HTML屬性。

編輯:除非有理由在代碼隱藏中創建控件,否則我會建議使用ASP.NET標記,然後設置需要在代碼隱藏中動態填寫的屬性。

+0

是的,它非常有效。 – TeknobilSoft