[英]DevExpress GridControl image column displays images like System.Byte[]
[英]I want to call images from database in to ASP:repeater control but I am getting <image src“System.Byte[]”> in result
這是我在aspx文件中的代碼
cnn.Open();
SqlDataAdapter da1 = new SqlDataAdapter("select * from carousel", cnn);
DataTable dt1 = new DataTable();
da1.Fill(dt1);
Rp1.DataSource = dt1;
Rp1.DataBind();
cnn.Close();
這是中繼器
<asp:Repeater id="Rp1" runat="server">
<ItemTemplate>
<div class="item">
<asp:Image ID="Image1" ImageUrl='<%# Eval("image") %>' runat="server" />
</div>
</ItemTemplate>
<footertemplate></footertemplate>
</asp:Repeater>
我嘗試了一切,但是每次我真的想要一些幫助時,我都會得到成果,我是ASP.Net的新手。
這是因為來自數據庫的值是表示圖像實際數據的字節數組。 img
標簽的src
需要圖像的URL。 基本上有兩種方法可以解決此問題...
src
屬性中。 在線上有很多關於第一個選項的教程。 這是通過Google的快速搜索找到的,還有其他搜索條件。 從本質上講,處理程序將執行的操作是接受查詢字符串上的標識符,使用該標識符從數據庫中獲取圖像,然后將適當的標頭和內容寫入響應。 src
屬性的URL將是該處理程序。 就像是:
ImageUrl='<# "~/handler.ashx?id=" + Eval("id") #>'
(或者您的任何數據綁定數據用作圖像的標識符。)
假設您在數據庫“ ImageName”中的圖像列名稱是
解決方案1:如果您的圖片在根文件夾中
<img src='<%#Eval("ImageName")%>' alt="" />
OR
<asp:Image ID="Image1" ImageUrl='<%#Eval("ImageName")%>' runat="server" />
解決方案2:如果您的圖像在圖像文件夾中
<img src='<%# "images/" + Eval("ImageName") %>' alt=""/>
要么
<asp:Image ID="Image1" ImageUrl='<%# "images/" + Eval("ImageName") %>' runat="server" />
您的最終解決方案:
<asp:Repeater id="Rp1" runat="server">
<ItemTemplate>
<div class="item">
<img src='<%#Eval("ImageName")%>' alt="" />
OR
<asp:Image ID="Image1" ImageUrl='<%# "images/" + Eval("ImageName") %>' runat="server" />
</div>
</ItemTemplate>
<footertemplate></footertemplate>
</asp:Repeater>
您需要在URI中為IMG HTML標簽進行轉換:
<img src="<%# System.Text.Encoding.ASCII.GetString(Eval("bynarydatacolumn")) %>" />
或同等學歷。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.