这是我在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的新手
答案 0 :(得分:4)
这是因为来自数据库的值是表示图像实际数据的字节数组。而src
标记的img
需要图片的网址。基本上有两种方法可以解决这个问题......
src
属性中的data URI包含在内。第一个在线选项有很多教程。通过Google快速搜索找到This one,还有其他搜索。本质上,处理程序要做的是接受查询字符串上的标识符,使用该标识符从数据库中获取图像,然后将相应的标题和内容写入响应。然后src
属性的URL将成为该处理程序。类似的东西:
ImageUrl='<# "~/handler.ashx?id=" + Eval("id") #>'
(或者您的数据绑定数据用作图像的标识符。)
答案 1 :(得分:0)
假设您的图像列名在数据库&#34; ImageName&#34;然后
解决方案1:如果你的图像在根文件夹
<img src='<%#Eval("ImageName")%>' alt="" />
OR
<asp:Image ID="Image1" ImageUrl='<%#Eval("ImageName")%>' runat="server" />
解决方案2:如果您的图像在图像文件夹中
<img src='<%# "images/" + Eval("ImageName") %>' alt=""/>
OR
<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>
答案 2 :(得分:0)
您需要在URI中转换IMG HTML标记:
<img src="<%# System.Text.Encoding.ASCII.GetString(Eval("bynarydatacolumn")) %>" />
或同等的。