我有一个数据表在女巫我有图像网址。我不想创建一个tamplet列。我只想将我的数据表分配为gridview的数据源,它应该在其字段中显示图像,如:
dim dt as new datatable
dr = dt.NewRow
dr("HotelName") = "citypalace"
dr("image") ="<img src='" & "www.mycity.com/aa.jpg" & "'/>" 'but this is not working its showing url in that column...
dt.rows.add(dr)
gridview1.datasource = dt
gridview1.databind()
请给我解决方案,我应该怎么处理该数据表列,以便它将在gridview中显示图像。 (请不要说我创建模板列。)
答案 0 :(得分:3)
GridView控件会自动对所有内容进行html编码,但有几种方法可以将其关闭。如果您在aspx页面中声明了图像字段,那么最简单的选择就是将HtmlEncode
属性设置为false。
<asp:BoundField DataField="image" HtmlEncode="false" />
如果在您的情况下这不可行,您可以在GridView的RowDataBound
事件中“撤消”这些单元格的html编码。
Private Sub gridview1_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles gridview1.RowDataBound
e.Row.Cells(1).Text = Server.HtmlDecode(e.Row.Cells(1).Text)
End Sub
我假设您的示例中您的GridView有2列,而image列是第二列,因此每行中有Cells(1)。希望这有帮助!