将从数据库检索到的图像显示为具有 CSS 样式的列表

Posted

技术标签:

【中文标题】将从数据库检索到的图像显示为具有 CSS 样式的列表【英文标题】:Display images retrieved from database as list with CSS style 【发布时间】:2012-06-07 07:52:13 【问题描述】:

我是 ASP.NET 的新手,我无法找到一种解决方案,将从数据库中检索到的图像显示为具有 CSS 样式的列表。我找到了一些解决方案,比如使用 DataList、DataGrid、Repeater 等,但它们最终都会在表格单元格中显示图像,并且间距是动态的,随获取的图像数量而变化。所以我想知道是否有任何方法可以在 ASP.NET 图像控件中显示图像以及 CSS 样式(例如如何使用 php,我知道这听起来很奇怪)。或者无论如何都可以在固定列中整齐地显示它们?我在这里是个傻瓜,所以请善待我并帮助我。任何建议表示赞赏。

【问题讨论】:

您可以编写自己的 Web 自定义控制/用户控件并使用样式/CSS 渲染图像,就像在 PHP 或其他中的方式一样。您所要做的就是覆盖 Render 事件。您还可以使用文字控制。另一种选择是将项目模板添加到数据网格并显示图像。最后,我建议首先使用 html CSS,它会列出你的一些图像,一旦你确定了,然后以其中一种方式实现。最后,您必须呈现您在示例 HTML 文件中创建的 HTML 标记。 【参考方案1】:

Repeater 不会创建任何表格,除非像这样使用,您可以使用 css 进行样式化,可能会对您有所帮助。

<ul>
    <asp:Repeater ID="rptr" runat="server">
        <ItemTemplate>
            <li>
                <ContentTemplate>
                    <asp:Image ID="lnk" runat="server">/asp:LinkButton>|
                </ContentTemplate>
            </li>
        </ItemTemplate>
    </asp:Repeater>
</ul>

【讨论】:

【参考方案2】:

有很多方法可以做到这一点。

您可以创建一个简单的foreach 循环,您可以简单地渲染图像并显示结果。无需使用其他控件。我将图像放在li 中,因为您可以使用简单的 css 样式将它们呈现为表格。

List<string> lMyImages = new List<string>();
StringBuilder sRenderOnMe = new StringBuilder();

foreach(var OneImg in lMyImages)
   sRenderOnMe.AppendFormat("<li><img src=\"0\"></li>", OneImg);

OneLiteral.Text = sRenderOnMe.ToString():

您还可以使用asp:Repeater,您可以在其中呈现您喜欢的任何内容。如何:http://msdn.microsoft.com/en-us/magazine/cc163780.aspx

<asp:Repeater runat="server" id="Repeater1">
    <itemtemplate>
      <li><img src="<%# DataBinder.Eval(Container.DataItem, "ImgSrc") %>"></li>
    </itemtemplate>
</asp:Repeater>

您可以覆盖 DataList 并使用 div 随心所欲地呈现它,如何:How To Override Datalist To Be Rendered Into Divs Instead Of Table?

Css:这里是使用&lt;li>的方式,您可以将显示的图像呈现为动态表:http://mirificampress.com/permalink/the_amazing_li

【讨论】:

【参考方案3】:

如果您正在使用 WebForms 并希望坚持使用 .net 控件,请查看 ListView

【讨论】:

感谢详细教程,我试试看。

以上是关于将从数据库检索到的图像显示为具有 CSS 样式的列表的主要内容,如果未能解决你的问题,请参考以下文章

使用引导程序从数据库中检索图像时自动定位图像

将从数据库中检索的值设置为字符串到android中的评分栏

使用 AJAX Jquery 以 JSON 格式显示检索到的图像 URL

CSS 大纲属性未在 Firefox 中显示为 SVG 图像?

将从表单检索到的数组数据存储到数据库

为什么我在firelerview中显示/不显示我从firebase检索到的图像?