我想在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
读取它。
有没有办法显示图片?
答案 0 :(得分:2)
你能试试吗?
创建一个功能
public string GetImage(object img)
{
return "data:image/jpg;base64," + Convert.ToBase64String((byte[])img);
}
然后像这样更改你的声明
<asp:Image ImageUrl='<%# GetImage(Eval("Photo")) %>' />