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

时间:2012-06-02 08:51:22

标签: c# asp.net css image grid

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

3 个答案:

答案 0 :(得分:1)

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

您可以制作一个简单的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>

您可以使用div覆盖DataList并根据需要进行渲染,如何:How To Override Datalist To Be Rendered Into Divs Instead Of Table?

Css:以下是使用<li&gt;的方式您可以将图像显示为动态表:http://mirificampress.com/permalink/the_amazing_li

答案 1 :(得分:0)

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

答案 2 :(得分:0)

除非像这样使用,否则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>