C# 使用repeater控件显示数据库C中的图像#

C# 使用repeater控件显示数据库C中的图像#,c#,asp.net,C#,Asp.net,我有一个图书数据库(现在总共有两本书),每本书都有一行名为“Image”,其中包含图像的名称。 例如cprog.jpeg和asm.jpeg 使用转发器,我可以显示图书信息,如姓名、作者等,但我不知道如何让图像显示出来。图像存储在“图像”文件夹中 这是问题所在的aspx?因为,它可以很好地显示书名和描述 <asp:Repeater ID="Repeater1" runat="server"> <ItemTemplate> <%# DataBinder

我有一个图书数据库(现在总共有两本书),每本书都有一行名为“Image”,其中包含图像的名称。 例如cprog.jpeg和asm.jpeg

使用转发器,我可以显示图书信息,如姓名、作者等,但我不知道如何让图像显示出来。图像存储在“图像”文件夹中

这是问题所在的aspx?因为,它可以很好地显示书名和描述

<asp:Repeater ID="Repeater1" runat="server">
        <ItemTemplate>
 <%# DataBinder.Eval(Container.DataItem, "BookName") %>
 <hr>
 <%# DataBinder.Eval(Container.DataItem, "BookDescription") %>
 <td width="100px">
  <p align="left">


 <img src= '<%# DataBinder.Eval(Container.DataItem, "Image") %>.jpeg'  
 alt="" style="height:200px;width:200px;border:1px solid gray;"/>

  </td>
  </p>
有一次,当我运行项目时,破碎的图像出现了一秒钟,然后消失了。我花了两天的时间试图得到这个,但是没有用。。。
谢谢。

您必须输入图像文件夹的路径,以便web服务器知道从何处提供图像:

<img src= 'images/<%# DataBinder.Eval(Container.DataItem, "Image") %>'  
 alt="" style="height:200px;width:200px;border:1px solid gray;"/>
'
alt=”“style=“高度:200px;宽度:200px;边框:1px纯色灰色;”/>
此外,由于数据库中的映像名称已经包含扩展名,因此必须从repeater绑定中删除该扩展名

根据您的上述示例,将解决以下问题:

<img src= 'images/cprog.jpeg' alt="" style="..."/>

假设图像文件夹为
/images
,添加文件夹名称并删除扩展名(如您的问题所述,已在数据库中)应显示图像:

<img src='/images/<%# DataBinder.Eval(Container.DataItem, "Image") %>'  
alt="" style="height:200px;width:200px;border:1px solid gray;"/>
'
alt=”“style=“高度:200px;宽度:200px;边框:1px纯色灰色;”/>

如果结果不理想,请检查html输出并将其与实际url进行比较-有什么不同?

您可以使用此代码在asp.net页面上加载位图图像

<img src="data:image/jpeg;base64,<%# ((string)Container.DataItem) %>" 
width="100" height="100"/>
”
width=“100”height=“100”/>

下次请不要等待两天再询问。这会显示第二个图像,但不会显示第一个图像。为什么不显示第一个图像?请记住,两个图像都在图像文件夹中
<img src="data:image/jpeg;base64,<%# ((string)Container.DataItem) %>" 
width="100" height="100"/>