![](/img/trans.png)
[英]Print property name when using a List<List<>> Collection as a Repeater Datasource in ASP.NET with C#
[英]retrieve blob from mysql and display using repeater in asp.net c# and linq datasource
我已经在mysql数据库的类别表中的Longblob数据类型的categoryImage字段中手动存储了图像。 我添加了一个devart linq-mysql模型来从数据库检索数据。
我已将linq数据源添加到转发器控件,并希望直接从数据库中检索blob数据类型图像。 当我写这段代码时
<%# Eval("CategoryImage" %>
我得到一个System.Byte []作为输出。 有人给我一个建议,我应该使用该方法将字节数组转换为图像
public System.Drawing.Image byteArrayToImage (System.Byte[] ByteInArray)
{
MemoryStream ms = new MemoryStream(ByteInArray);
System.Drawing.Image returnimage = System.Drawing.Image.FromStream(ms);
return returnimage;
}
当我写这段代码<%# byteArrayToImage(Eval("CategoryImage") %>
,我遇到一个错误,即byteArrayToImage(btye[])
有一些无效的参数。有人可以帮助我解决这个问题。
提前致谢..
首先,您的标签似乎格式不正确:
<%# byteArrayToImage(Eval("CategoryImage") %>
应该:
<%# byteArrayToImage(Eval("CategoryImage")) %>
同样, Eval
方法返回object
, byteArrayToImage
方法参数的类型为System.Byte[]
,因此您必须将其byteArrayToImage
转换为正确的类型。
此外,最好弄清楚要应用byteArrayToImage
方法返回值的元素。 它可能不适用于System.Drawing.Image
的实例。
如果您试图基于System.Drawing.Image
创建<asp:Image>
控件,则该控件将仅能通过URL加载图像,因此将无法正常工作 。
替代方法是为图像创建自定义HTTP处理程序,或创建包含图像内容的文件,然后将URL提供给<asp:Image>
控件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.