将数据库映像绑定到.ascx中的ItemTemplate

时间:2012-10-21 21:54:44

标签: asp.net database listview data-binding itemtemplate

我正在使用从数据库填充的ListView的动态ItemTemplate。当我需要显示字符串列“Parametr”(或其他一些数据类型)时,我就是这样做的:

     //my .ascx file
     <li><%# Eval("Parametr") %> </li>

如何显示存储图像的varbinary列?谢谢。

修改

如果有人需要,可以使用以下代码:

<asp:ListView ...  DataSourceID="database"   ></asp:ListView>
<asp:SqlDataSource ... ID="database" SelectCommand="SELECT image FROM image_table"></asp:SqlDataSource>

1 个答案:

答案 0 :(得分:1)

您可以使用“内联图片”。该技术在例如Base64 encoded images embedded in html中描述(为其他资源搜索base64图像html)。

使用Convert.ToBase64String获取图像数据字节的base64编码字符串,然后使用<img src=data:image/gif;base64,并附加图像数据。

所以你可以用这样的东西绑定它

<img src='<%# string.Format("data:image/gif;base64,{0}",
 Convert.ToBase64String((byte[])Eval("ImageDataBase64")))%>'/>

当然,这仅适用于小图片。另请注意,您应将“gif”更改为图像的实际格式。