一般repeat一行,绑定一个产品,能不能一行绑定三个产品啊,
<asp:Repeater ID="Repeater1" runat="server">
<ItemTemplate>
<tr>
<td width="50%" align="center" style="border: 1px solid #999999;"><table width="100%" border="0" cellspacing="1" cellpadding="2">
<tr>
<td align="left"><img src='<%#Eval("PicLink").ToString().Replace("E:\\网站后台\\Code\\FeiYing\\Admin\\", "../Admin/") %>' width="200" height="60" style="border: 1px solid #666666; background: #FFFFFF;"></td>
<td align="center"><span class="black"><a target="_blank" href='<%#Eval("LinkUrl") %>'><%#Eval("ProName")%></a></span></td>
</tr>
</table></td>
</tr>
</ItemTemplate>
</asp:Repeater>
一行是一个<tr></tr>里面包含了n个td,repeate的粒度放到<td>上。
在repeate的</ItemTemplate>中定义<td>产品</td>,增加<% if %> 判断,当前行是3*n行增加<tr></tr>
同志,能写个给我看看么
@iisp:
<asp:Repeater runat="server">
<ItemTemplate>
<%# Container.ItemIndex%3>0?"<tr>":""%>
<td>
<%#Eval("产品") %>
</td>
<td>
<%#Eval("图片") %>
</td>
<%# Container.ItemIndex%3>0?"</tr>":""%>
</ItemTemplate>
</asp:Repeater>
Container.ItemIndex%3>0?"<tr>":"" 是判断当前行是否3的倍数,(计算可能有问题,逻辑是判断为3的倍数想实现1、3、6、9..时候出“<tr>”),这个你自己改一下。思路这样样的。
repeat只是重复呈现相应的子控件,每次呈现三个是没问题的.
应该怎么改呢?
换行是由HTML标签决定,与Repeater无关。
dudu正解
你可以使用DataList控件,设置RepeatColumns属性值为3, 这样比较方便。
也可以使用div层来控制:
<ItemTemplate>
<div>
<div style =" width :35%; float :left">1</div>
<div style =" width :30%; float :left">2</div>
<div style =" width :35%; float :left">3</div>
</div>
</ItemTemplate>
看一下这个问题,跟你的问题类似,根据循环判断绑定一行显示的信息数:
http://q.cnblogs.com/q/32525/