我有一个图书数据库(现在共有2本书),每本书都有一行名为“图像”的行,其中包含图像的名称。 例如。 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>
背后的代码
String connectionString = "Data Source=" + Server.MapPath(@"~\App_Data\bookDB.db");
String selectCommand = String.Format("Select * from Book where CategoryName = '{0}'", Request.QueryString);
SQLiteConnection myConnection = new SQLiteConnection();
myConnection.ConnectionString = connectionString;
myConnection.Open();
SQLiteDataAdapter dataAdapter = new SQLiteDataAdapter(selectCommand, myConnection);
myConnection.Close();
// DataSet ds = new DataSet();
dataAdapter.Fill(ds2);
DataTable table = new DataTable();
dataAdapter.Fill(table);
Repeater1.DataSource = table;
Repeater1.DataBind();
有一次,当我运行项目时,破碎的图像出现了一秒钟,然后消失了。我花了最近2天试图得到这个没有用... 谢谢。
答案 0 :(得分:2)
假设images文件夹是/images
,添加文件夹名称并删除扩展名(已在问题中提到的数据库中)应显示图像:
<img src='/images/<%# DataBinder.Eval(Container.DataItem, "Image") %>'
alt="" style="height:200px;width:200px;border:1px solid gray;"/>
如果这不能产生预期的结果,请检查html输出并将其与真实网址进行比较 - 有什么不同?
答案 1 :(得分:0)
您必须放入图像文件夹的路径,以便Web服务器知道从哪里提供图像:
<img src= 'images/<%# DataBinder.Eval(Container.DataItem, "Image") %>'
alt="" style="height:200px;width:200px;border:1px solid gray;"/>
此外,由于数据库中的图像名称已包含扩展名,因此必须将其从转发器绑定中删除。
基于上面的例子,将解析为:
<img src= 'images/cprog.jpeg' alt="" style="..."/>
答案 2 :(得分:0)
您可以使用此代码在asp.net页面上加载位图图像。
<img src="data:image/jpeg;base64,<%# ((string)Container.DataItem) %>"
width="100" height="100"/>