![](/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.