【问题标题】:Binding Byte() to a Gridview [duplicate]将 Byte() 绑定到 Gridview [重复]
【发布时间】:2013-03-15 23:43:19
【问题描述】:

我有一个集合,其中包含由 Id 作为 Integer、Name 作为 String 和 IconImage 作为 Byte() 的项目。

我想在 gridview 中显示名称和图像,但不确定如何将 IconImage 绑定到 gridview?

<itemtemplate>
    <asp:label id="LabelName" runat="server" text='<%# Eval("Name")%>'></asp:label>
</itemtemplate>

<!-- Bind and Display the image here-->  

请帮我提供一些示例代码..
谢谢

【问题讨论】:

  • 我发现了另一篇关于这个主题的好文章:here

标签: asp.net gridview


【解决方案1】:

你可以使用这个功能

 public Image byteArrayToImage(byte[] byteArrayIn)
 {
    MemoryStream ms = new MemoryStream(byteArrayIn);
    Image returnImage = Image.FromStream(ms);
    return returnImage;
 }

将字节数组转换为图像。

如果你在Eval("CategoryImage") 中有byte array,那么你也可以从Eval 调用这个函数。
作为

<%# byteArrayToImage(Eval("CategoryImage"))%>

未经测试,但应该可以工作。

编辑 1

这是一个很好的链接
argumentException was unhandled error when converting byte of array to image
How to convert byte array to image and display in datagrid?

【讨论】:

  • 我试过&lt;ItemTemplate&gt; &lt;img id="displayIcon" src="&lt;%# ByteArrayToImage(Eval("IconImage"))%&gt;" width="125px" height="125px" title="&lt;%# Eval("Description") %&gt;" /&gt; &lt;/ItemTemplate&gt;,但看不到任何图像,只有列中的交叉(x),有什么想法吗?
  • IconImage 是字节数组吗?
  • 是的,它是一个字节数组,也许我使用了错误的控件来绑定它,我不确定 src 是否可以直接显示图像,也许它期望文件的完整路径
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-09-16
  • 2010-09-18
  • 1970-01-01
  • 2013-04-29
  • 2011-07-09
  • 2011-04-05
相关资源
最近更新 更多