【问题标题】:how to dynamically display image in <li> coming from database?如何在 <li> 中动态显示来自数据库的图像?
【发布时间】:2010-08-11 06:19:00
【问题描述】:

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

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

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

【问题讨论】:

  • 如果您想重复列表,那么中继器将是一个不错的选择,是的!

标签: c# html


【解决方案1】:

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();

【讨论】:

    【解决方案2】:

    是的,您应该使用中继器。

    但是,您不使用您的方法在中继器内显示图像。相反,您应该提供图片的 URL。浏览器将首先下载您的 HTML,然后从中提取所有图像 URL,然后使用它们的 URL 逐个下载每个图像。

    因此,您必须创建另一个页面(称为 GetImage.aspx),它将返回您的图像并将该页面的 URL 放在

  • 标记中。
  • 【讨论】:

      【解决方案3】:

      您需要构建一个图像处理程序。例如。编写一个 ASPX 页面,该页面采用图像 id 并返回具有二进制数据的 image/jpegimage/png 的 mime 类型。

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

      参考:

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

      【讨论】:

        猜你喜欢
        • 2012-02-23
        • 1970-01-01
        • 2013-10-18
        • 1970-01-01
        • 2021-01-15
        • 2018-06-06
        • 1970-01-01
        • 2018-05-12
        • 1970-01-01
        相关资源
        最近更新 更多