如何动态显示来自数据库的图像?我将使用列表中的图像
<ul>
<li>
<asp:Image id="image1" runat="server" ImageUrl=""/>
</li>
</ul>
我在我的代码背后使用C#。我已经创建了一个显示图像的方法,但我不知道如何在列表和图像控件中使用我的方法。我需要使用中继器来实现这一目标吗?我想要发生的是重复列表,与我的数据库中的图像数量一样多。
答案 0 :(得分:2)
Repeater
绝对是您的最佳解决方案。这就是你设置它的方式:
<asp:Repeater runat="server" ID="Repeater">
<HeaderTemplate>
<ul>
</HeaderTemplate>
<ItemTemplate>
<li>
<asp:Image id="image1" runat="server"
ImageUrl='<%# DataBinder.Eval(Container.DataItem, "Image") %>' />
<li>
</ItemTemplate>
<FooterTemplate>
</ul>
</FooterTemplate>
</asp:Repeater>
然后您需要做的就是分配DataSource,Repeater将处理剩下的事情:
DataTable databaseResults = GetYourImages();
Repeater.DataSource = databaseResults;
Repeater.DataBind();
答案 1 :(得分:0)
是的,你应该使用转发器。
但是,您不使用您的方法在转发器内显示图像。相反,您应该为图像提供一个URL。浏览器将首先下载您的HTML,然后它将从中提取所有图像URL,然后它将使用其URL一个接一个地下载每个图像。
因此,您必须创建另一个页面(称之为GetImage.aspx),该页面将返回您的图像,并将URL放入&lt; li&gt;中的该页面。标签
答案 2 :(得分:0)
您需要构建一个图像处理程序。例如。编写一个ASPX页面,该页面采用图像ID,并返回mime类型为image/jpeg
或image/png
的二进制数据。
http://myServer/myApp/ImageHandler.aspx?id=32we3df9wekly2
价: