2015-05-12 55 views
0

的代碼創建的img標籤,我有以下img標籤:如何動態地從後面

<img id="cross" runat="server" /> 

我想根據數據,我正從數據庫恢復到創建多個img標籤。但我不斷收到錯誤「System.Web.UI.HtmlControls.HtmlImage」不允許子控件。

如何動態創建img標籤?

例如,如果我從數據庫中取回要創建的5個點(XCoord,YCoord),我想創建新的5個圖像。

這裏是我的代碼:

Dim ds As DataSet = dba.GetIncidentsByZone(135, "02/11/2015", "05/12/2015", m_User.CompanyCode) 
      If Not ds Is Nothing Then 
       For Each dr As DataRow In ds.Tables(0).Rows() 
        cross.Controls.Add(New HtmlImage() With {.Src = "C:/Inetpub/temp/pointer.gif", .Alt = ""}) 
        cross.Style.Add("left", dr("XCoord").ToString() + "px") 
        cross.Style.Add("top", dr("YCoord").ToString() + "px") 
        cross.Attributes.Add("style", "visibility:visible") 
       Next 
      End If 
+0

您正試圖在另一圖像標記內添加圖像標記。該錯誤告訴你,這是不允許的。您可以將圖像添加到另一個接受子控件的控件(如div)。 – Becuzz

+0

我正在嘗試爲來自數據庫的每條記錄創建一個圖像標記的新實例。你推薦我做什麼? –

回答

0

基於您的評論,你的循環需要看起來更像是這樣的:

If Not ds Is Nothing Then 
    For Each dr As DataRow In ds.Tables(0).Rows() 
     Dim newImage as New HtmlImage() With {.Src = "C:/Inetpub/temp/pointer.gif", .Alt = ""} 
     newImage.Style.Add("left", dr("XCoord").ToString() + "px") 
     newImage.Style.Add("top", dr("YCoord").ToString() + "px") 
     someOtherContainerItemLikeADiv.Controls.Add(newImage) 
    Next 
End If 

在循環的每個迭代你需要一個新的形象,設置它的屬性,然後將其添加到允許子控件(如div)的某種控件中。

+0

非常感謝 –