当在数据表中定义图像源时,请帮我在gridView中显示图像

时间:2009-12-31 06:50:05

标签: asp.net image gridview datatable

我有一个数据表在女巫我有图像网址。我不想创建一个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中显示图像。 (请不要说我创建模板列。)

1 个答案:

答案 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)。希望这有帮助!