我有以下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 :(得分: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。