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