2

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

4

3 回答 3

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 并根据需要呈现它,如何:如何覆盖 DataList 以将其呈现为 div 而不是表?

Css:这是使用<li> 您可以将显示为动态表的图像渲染的方式:http: //mirificampress.com/permalink/the_amazing_li

于 2012-06-02T09:02:01.277 回答
0

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

于 2012-06-02T08:57:38.967 回答
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>
于 2012-06-02T09:04:29.000 回答