【问题标题】:bind database image to ItemTemplate in .ascx将数据库图像绑定到 .ascx 中的 ItemTemplate
【发布时间】:2012-10-23 02:38:36
【问题描述】:

我正在为从数据库填充的 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>

【问题讨论】:

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


【解决方案1】:

您可以使用“内嵌图片”。例如,Base64 encoded images embedded in html 描述了该技术(搜索 base64 图像 html 以获取其他资源)。

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

所以你可以使用类似这样的东西来绑定它

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

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

【讨论】:

  • @AntonPutov:这很不幸。很遗憾,我帮不了你,因为你不会告诉我问题出在哪里。
  • 我的问题很简单 - 这里是模板 [
  • '/>
  • ] - blob - 二进制图像数据(gif)。它不起作用)。还有其他方法可以解决这个问题吗?
  • 什么?问题可能是“InvalidOperationException”或“SqlException”。我不敢相信您在网页上看到的错误是“它不起作用”?
  • 您的示例中的“blob”是什么?
  • @AntonPutov:那么什么是 blob?如果检查代码,图源中, 后面有文字吗?
  • 猜你喜欢
    相关资源
    最近更新 更多
    热门标签