一般的div+css布局的网站一般是用<li></li>来重复显示数据,如下面的:
但是如果是table布局的网站,那就麻烦了,因为table不会自动换行,是<table><tr><td></td></tr></table>这样的格式,不能直接输出td,但是可以利用repeater的HeaderTemplate和FooterTemplate来输出最前和最后的一对标签,再在中间的ItemTemplate里根据数据条数做判断,如果Container.ItemIndex%3==0,则输出</tr><tr>.
代码如下
<asp:Repeater ID="Repeater1" runat="server">
<HeaderTemplate>
<tr height="25" align="middle">
</HeaderTemplate>
<ItemTemplate>
<%#(Container.ItemIndex ) % 3 == 0 && Container.ItemIndex != 0 ? "</tr><tr height=\"25\" align=\"middle\">" : String.Empty%>
<td valign=top width=33.33% align=middle>
<table class=Content border=0 cellspacing=0 cellpadding=0>
<tbody>
<tr>
<td valign=center align=middle>
<table border=0 cellspacing=1 cellpadding=2 width=0% bgcolor=#cccccc>
<tbody>
<tr>
<td bgcolor=#ffffff valign=center align=middle>
<a title=<%# Eval("title") %> href=casedetail.aspx?id=<%# Eval("id") %>
target=_blank>
<img border=0 alt=<%# Eval("title") %> src=<%# Eval("img") %>
width=160 height=120></a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td height=25 align=middle>
<a title=<%# Eval("title") %> href=casedetail.aspx?id=<%# Eval("id") %>
target=_blank><%# Eval("title") %>
</a>
</td>
</tr>
</tbody>
</table>
</td>
</ItemTemplate>
<FooterTemplate>
</tr>
</FooterTemplate>
</asp:Repeater>