我正在使用.net编写的网站,我不知道它是如何工作的,我有以下代码..
<ul id="mega"><li><a href="#">Products</a><div>
<asp:Repeater ID="RT_Category" runat="server">
<ItemTemplate>
<h2><%# DataBinder.Eval(Container.DataItem, "Category")%></h2>
<asp:Repeater ID="RT_SubCategory" runat="server"
DataSource='<%# DataBinder.Eval(Container.DataItem, "SubCat") %>'>
<HeaderTemplate><p></HeaderTemplate>
<ItemTemplate>
<a href='<%# DataBinder.Eval(Container.DataItem, "LinkS") %>'>
<%# DataBinder.Eval(Container.DataItem, "SubcatName")%></a>
</ItemTemplate>
<FooterTemplate></p></FooterTemplate>
</asp:Repeater>
</ItemTemplate>
</asp:Repeater>
</div></li></ul>
此代码输出一个产品类别列表,我的问题是它将它们列在一个巨大的列表中,但是,是否有可能以某种方式包装每5条记录?
答案 0 :(得分:3)
您可以尝试使用CSS,inline-block
或float: left
<ul id="mega"><li><a href="#">Products</a><div>
<asp:Repeater ID="RT_Category" runat="server">
<ItemTemplate>
<div style="display: inline-block; width: 25%">
<h2><%# DataBinder.Eval(Container.DataItem, "Category")%></h2>
<asp:Repeater ID="RT_SubCategory" runat="server"
DataSource='<%# DataBinder.Eval(Container.DataItem, "SubCat") %>'>
<HeaderTemplate><p></HeaderTemplate>
<ItemTemplate>
<a href='<%# DataBinder.Eval(Container.DataItem, "LinkS") %>'>
<%# DataBinder.Eval(Container.DataItem, "SubcatName")%></a>
</ItemTemplate>
<FooterTemplate></p></FooterTemplate>
</asp:Repeater>
</div>
</ItemTemplate>
</asp:Repeater>
</div></li></ul>
答案 1 :(得分:1)
以下文章可能有所帮助:
答案 2 :(得分:0)
虽然我已经看到了使用Repeater
来实现此功能的示例,但没有一个是漂亮的。我建议查看DataList
,它具有内置属性来控制重复/列。
答案 3 :(得分:0)
Akram的回答很适合你的情况。然而,转发器确实看起来不错。我建议使用datalist,因为它更可定制,甚至可以按列输出数据。请参考此链接:Showing Multiple Records per Row with the DataList Control