如何从后面的代码动态创建img标签

时间:2015-05-12 19:40:10

标签: html asp.net vb.net

我有以下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

1 个答案:

答案 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。