2014-09-04 45 views
1

我想從數據庫映像表中獲得一些來自asp中繼器的圖像。顯示中繼器中的字節圖像

HTML

<asp:Repeater ID="rpt_" runat="server">      
    <ItemTemplate> 
    <li> 
<img src="<%="data:image/jpg;base64," + Convert.ToBase64String((byte[])Eval("Photo")) %>" alt="" /> 
    </li> 
    </ItemTemplate> 
</asp:Repeater> 

C#

private void Load_() 
{ 
    ClassDo class_ = new ClassDo; 
    DataTable dt = class_.Ann().Tables[0]; 
    rpt_.DataSource = dt; 
    rpt_.DataBind(); 
} 

這是我的代碼,並得到了我的錯誤,我不能顯示圖像。 HTML

<img alt="" src="<%="data:image/jpg;base64," + Convert.ToBase64String(Class_._image) %>" /> 

C#

Class_._image = (byte[])dt.Rows[0]["Photo"]; 

它的工作原理就像其他地方,但與中繼器,我不能Eval閱讀。

是否有任何工作方式來顯示圖像?

回答

2

你可以試試嗎?

創建功能

public string GetImage(object img) 
{ 
    return "data:image/jpg;base64," + Convert.ToBase64String((byte[])img); 
} 

然後改變這樣

<asp:Image ImageUrl='<%# GetImage(Eval("Photo")) %>' /> 
+0

感謝你的宣言,我忘了這種方式;) – user4007140 2014-09-04 12:19:22