如何在来自数据库的<li>中动态显示图像?</li>

时间:2010-08-11 06:19:01

标签: c# html

如何动态显示来自数据库的图像?我将使用列表中的图像

<ul>
   <li>
      <asp:Image id="image1" runat="server" ImageUrl=""/>
   </li>
</ul>

我在我的代码背后使用C#。我已经创建了一个显示图像的方法,但我不知道如何在列表和图像控件中使用我的方法。我需要使用中继器来实现这一目标吗?我想要发生的是重复列表,与我的数据库中的图像数量一样多。

3 个答案:

答案 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/jpegimage/png的二进制数据。

http://myServer/myApp/ImageHandler.aspx?id=32we3df9wekly2

价:

  1. Images in database vs file system
  2. display/retrieve image from sql database in vb.net