就像上面的图片一样;要求一个<li>里面有4条数据;这个用DATALIST好绑定;可是由于弄些原因,现在只能用Repeater绑定;我的代码是: <ul>
<li >
<asp:Repeater ID="rptOrBind" runat="server" onitemdatabound="rptOrBind_ItemDataBound1"
>
<ItemTemplate>
<div class="screnInproOne"><img src="../LineImages/<%# Eval("HistoryImage") %>" class="mb10 imgStyleTop" /><p ><%# Eval("LineTitle") %></p></div>
</ItemTemplate>
</asp:Repeater>
</li>
</ul>
protected void rptOrBind_ItemDataBound1(object sender, RepeaterItemEventArgs e)
{
if ((rptOrBind.Items.Count) % 4 == 0 && rptOrBind.Items.Count > 0)
{
e.Item.Controls.Add(new LiteralControl("</li><li>"));
}
}可是现在不知道是什么原因;每当显示出来后,第一个<LI>里面总是有5条数据; 后面的都是显示的4条!!!!
<li >
<asp:Repeater ID="rptOrBind" runat="server" onitemdatabound="rptOrBind_ItemDataBound1"
>
<ItemTemplate>
<div class="screnInproOne"><img src="../LineImages/<%# Eval("HistoryImage") %>" class="mb10 imgStyleTop" /><p ><%# Eval("LineTitle") %></p></div>
</ItemTemplate>
</asp:Repeater>
</li>
</ul>
protected void rptOrBind_ItemDataBound1(object sender, RepeaterItemEventArgs e)
{
if ((rptOrBind.Items.Count) % 4 == 0 && rptOrBind.Items.Count > 0)
{
e.Item.Controls.Add(new LiteralControl("</li><li>"));
}
}可是现在不知道是什么原因;每当显示出来后,第一个<LI>里面总是有5条数据; 后面的都是显示的4条!!!!
解决方案 »
- 至少一个参数没有被指定值
- ConnectionString 属性尚未初始化
- ajax,在客户端可以接受dataset吗?然后对dataset操作吗?
- 请问如何输出指定字节长度的字符串?(不好意思没分给了)
- Ajax请求aspx页面的权限问题
- asp.net如何在网页上播放视频?
- nant--使用过的人进来指导下--50分
- 如何取得某一个文件夹下的文件名称(asp.net for c#)??在线等待......
- asp.net 如何实现P2P媒体视频播放啊!请高手指教!_
- 我想把一个数组绑到DataGrid上,一开始的时候还能用,后来不知怎么就不能用了?help
- sqldatasource 更新问题
- 新年工作第一天,大牛归位,SOS
看看页面
<asp:repeater id="myRepeater" runat="server">
<ItemTemplate>
<tr>
<td>
第一列
</td>
</ItemTemplate>
<AlternatingItemTemplate>
<td>
第二列
</td>
</tr>
</AlternatingItemTemplate>
</asp:repeater>
</table>或者
protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (i % 4 == 0)
{
e.Item.Controls.Add(new LiteralControl("</tr><tr>"));
}
i++;//每一条记录绑定的时候就会加1
}
protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (i % 4 == 0 && i < 20) {
e.Item.Controls.Add(new LiteralControl("</LI><li>"));
}
i++;
}
说说原因吧,也许能解决,不然用Repeater是比较麻烦的
{
e.Item.Controls.Add(new LiteralControl("</li><li>"));
}试试
<style type="text/css">
body{margin:0px;padding:0px;}
ul{list-style:none;margin:0px;padding:0px;width:240px;}
ul li{float:left;margin-right:10px;}
img{width:50px;height:50px;}
</style>
<body>
<ul>
<li><img src="images/p001.jpg" /></li>
<li><img src="images/p001.jpg" /></li>
<li><img src="images/p001.jpg" /></li>
<li><img src="images/p001.jpg" /></li>
<li><img src="images/p001.jpg" /></li>
<li><img src="images/p001.jpg" /></li>
<li><img src="images/p001.jpg" /></li>
<li><img src="images/p001.jpg" /></li>
<!--测试数据替换成-->
<asp:Repeater ID="Repeater1" runat="server">
<ItemTemplate>
<li><img src="images/p001.jpg" /></li>
</ItemTemplate>
</asp:Repeater>
</ul>
</body>
if ((rptOrBind.Items.Count+1) % 4 == 0)
{
e.Item.Controls.Add(new LiteralControl("</li><li>"));
}