62,074
社区成员
发帖
与我相关
我的任务
分享
<asp:repeater ID="Repeater1" runat="server">
<ItemTemplate>
<asp:PlaceHolder ID="start" runat="server" Visible="<% 根据索引%3==1 true:false %>" ><tr> </asp:PlaceHolder>
<%Eval("dataid") %>
<asp:PlaceHolder ID="PlaceHolder1" runat="server" Visible="<% 根据索引%3==0 true:false %>" ></tr> </asp:PlaceHolder>
</ItemTemplate>
</asp:repeater>
if((i+1)%3==1)
{
content+="<tr>";
}
content +="<td id=cus"+i+" class=\"fg_znxx_nr_td\" ><a href=\"#\" class=\"fg_znxx_nr_td_a\" ";
content +=" onmouseover=\"CusMouseVoer("+i+");\" onmouseout=\"tanchuptfxs_card0(1);\" >"+data.Cus[i].nickname.sub(8)+"</a></td>";
if((i+1)%3==0)
{
content +="</tr>";
}
很多时候如果我们用
DataList来控制显示的列数可能会破坏我们的布局,因为DataList
会新生成一个table标签。所以我们需要Repeater来显示。
下面为代码:注意红色部分应该和后台代码对应!
protected int i = 1;
protected void RepeaterSchoolList_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (i%4==0&&i>0)
{
e.Item.Controls.Add(new LiteralControl("</tr><tr>"));
}
i++;
}
<table align="center" cellpadding="0" cellspacing="0" width="900">
<tr>
<asp:Repeater ID="RepeaterSchoolList" runat="server" OnItemDataBound="RepeaterSchoolList_ItemDataBound">
<ItemTemplate>
<td width="257" height="30" align="left" valign="middle"><span class="STYLE8"><a href="College.aspx?id=<%#Eval("id") %>"><%#Eval("name") %></a></span></td>
</ItemTemplate>
</asp:Repeater>
</tr>
</table>
这个方法可以实现
public void Repeater1_ItemDataBound(object src, RepeaterItemEventArgs e)
{
if (i % 3 == 0)
{
e.Item.Controls.Add(new LiteralControl("</tr><tr><td colspan=3><hr /></td></tr><tr>"));
//div模块的话换div就可以了
}
i++;
}