通过gridview显示图像?

时间:2011-01-19 17:39:57

标签: asp.net gridview

假设我的图像二进制数据保存在数据库表中,我想通过gridview显示这些图像。一种方法是创建一个页面,我将传递一些id作为查询字符串,该页面将从db检索图像数据,并通过BinaryWrite方法将图像数据流式传输到我的页面。一个例子是http://www.aspdotnetcodes.com/Insert_Images_Database.aspx。此URL描述了如何通过BinaryWrite显示图像数据。 这种方法很老,我知道。有没有其他方法我可以在gridview中显示图像但我不想将图像url存储在table.please让我知道你是否知道任何其他方法通过gridiview显示图像时,图像二进制数据存储在D b。感谢

2 个答案:

答案 0 :(得分:0)

我在这里问了一个类似的问题:

Streaming Databased Images Using HttpHandler

请注意,我必须在最终版本中使用DataReader: - )

答案 1 :(得分:0)

听起来您已将图像以二进制格式存储在数据库中。然后,您希望在GridView中显示它们。

考虑这种方法:

  • 在gridview中创建模板字段以保存图像。它最终会调用处理程序URL来获取图像的二进制数据。
  • 创建图片处理程序页面 - 将其设为.ashx。在查询字符串上放置一个唯一标识符,例如,从数据库中获取所需的图像
<Columns>
    <asp:TemplateField HeaderText="Image">
     <ItemTemplate>
        <asp:Image ID="Image1" runat="server"  Height="80px" Width="80px" 
        ImageUrl='<%# "ImageHandler.ashx?ImID="+ Eval("ImageID")
                   %>'/>
     </ItemTemplate>
</asp:TemplateField>
</Columns>

有关如何实施图像处理程序的信息,请参阅answer at the bottom of this MSDN question for more details。然后,在绑定GridView时,您不必返回二进制数据。另一方面,它为网格中的每一行创建了对处理程序的 n 调用。