如何在gridview中显示图片

时间:2014-10-24 10:25:57

标签: asp.net database vb.net image gridview

我的图片作为二进制数据存储在我的数据库中。

如何在asp?

的itemtemplate标签中显示它们

我建立了网络和所需的一切。

对于字符串数据我正在使用以下标记

<ItemTemplate>
                         <asp:Label ID="lblProvider" runat="server" Text='<%#Eval("Provider") %>' />
                    </ItemTemplate>

我在数据库中的列名为Provider。

现在对于图片部分,该列称为图片,

这是不可行的

 <asp:TemplateField HeaderText="Picture" SortExpression="Picture" >
                    <ItemTemplate>
                        <asp:Label ID="lblimage" runat="server" Text='<%#Eval("Picture") %>' />
                     </ItemTemplate>
              </asp:TemplateField>

如何在gridview中显示图片?

1 个答案:

答案 0 :(得分:1)

您可以为此创建HTTP处理程序。并将该处理程序用作itemtemplate中的图像源。它看起来像这样。

<ItemTemplate>
    <img id="Image1" src='PathToHandler.ashx?id=<%#Eval("id")%>' alt="img"/>
</ItemTemplate>

注意:我正在尝试将primary key作为id传递给处理程序,以便在处理程序中,您可以使用SQL表中的id来检索二进制数据。

在处理程序中,使用DB调用在where where条件下使用id从SQL Server获取二进制数据。并将其写入Response.OutputStream。使用以下响应写入二进制数据(图像)。

using (MemoryStream ms = new MemoryStream())
{
    // fill the memory stream and then write.
    ms.WriteTo(Response.OutputStream);
}

我已经回答过这种类似的问题(但采用不同的方法) - ASP.NET C# Get retrieve and show image from SQL Server database