我已经使用ImageField
类型的列定义了gridview控件,并将gridview绑定到List<MyRecord>
。
MyRecord包含System.Drawing.Image
类型的属性,但图像不会在网格视图中呈现。
有很多文章使用URL字段重新绑定,指向(比方说)一个jpg文件......但我有实际的图像,而不是文件。
有什么建议吗?
答案 0 :(得分:0)
像本文一样创建自定义ImageHandler描述:
答案 1 :(得分:0)
这不是ImageField的工作方式。它需要图像的URL。
<asp:ImageField DataImageUrlField = "ImageUrl" ...
答案 2 :(得分:0)
Handler.ashx工作了......谢谢
在代码中,我设置了ImageUrl = string.Format("~/HandlerGetImage.ashx?id={0}", imageNumber);
这会动态调用Handler,在其中我通过
获取图像索引string v = context.Request.QueryString["id"];
然后,以下内容返回图像:
int ix = Convert.ToInt32(v);
MemoryStream ms = new MemoryStream(Query.imageList[ix]); // imagelist is created elsewhere
System.Drawing.Image returnImage = System.Drawing.Image.FromStream(ms);
context.Response.ContentType = "image/jpeg";
//saving bitmap image
returnImage.Save(context.Response.OutputStream,
System.Drawing.Imaging.ImageFormat.Jpeg);
returnImage.Dispose();