我的图片作为二进制数据存储在我的数据库中。
如何在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中显示图片?
答案 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