我已經定義了一個GridView控件,其中有一列類型爲ImageField
,我將gridview綁定到List<MyRecord>
。將System.Drawing.Image綁定到ASP.Net中的Gridview中
MyRecord包含System.Drawing.Image
類型的屬性,但圖像不在gridview中呈現。
有很多文章重新綁定使用URL字段指向(說)一個JPG文件...但我有實際的圖像,而不是一個文件。
有什麼建議嗎?
我已經定義了一個GridView控件,其中有一列類型爲ImageField
,我將gridview綁定到List<MyRecord>
。將System.Drawing.Image綁定到ASP.Net中的Gridview中
MyRecord包含System.Drawing.Image
類型的屬性,但圖像不在gridview中呈現。
有很多文章重新綁定使用URL字段指向(說)一個JPG文件...但我有實際的圖像,而不是一個文件。
有什麼建議嗎?
創建自定義ImageHandler喜歡這篇文章介紹:
這就是不ImageField的是如何工作的。它期望圖像的URL。
<asp:ImageField DataImageUrlField = "ImageUrl" ...
URL通常指向文件,如pic.jpg .....但在這種情況下,您可以指向Handler頁面Handler.ashx,該頁面被編譯爲接受URL請求並返回圖像,它存儲在一個文件中。 – Dave31836
@ Dave31836:是的,好點。這也可以很好地工作。 –
的Handler.ashx工作...謝謝
在代碼中,我設置了ImageUrl = string.Format("~/HandlerGetImage.ashx?id={0}", imageNumber);
這個動態調用處理程序中,我得到
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();
這項工作? ImageField不希望有一條路嗎? –
謝謝..我實現了一個自定義ImagHandler,我現在看到gridview的整個列有相同的圖像。但是,我有一個List <>的圖像,並不清楚如何讓Handler調用返回每行圖像。也許我必須構建一個臨時SQL數據庫並將gridview綁定到該數據庫。 – Dave31836