读书人

repeater获取最后一起

发布时间: 2013-08-01 15:23:18 作者: rapoo

repeater获取最后一行


<asp:Repeater runat="server" ID="KBProducts">
<ItemTemplate>
<li class="<%#Container.ItemIndex=="最后一个"?"last":"" %> ">
</ItemTemplate>
</asp:Repeater>

如果repeater循环到最后一个,那么li的class样式就加一个last样式,否则为"",那么最后一个索引怎么获取啊?求大神!!!

[解决办法]
<li class="<%# Container.ItemIndex==this.KBProducts.Items.Count?"last":"" %> ">
[解决办法]
li:last-child {color:#FF0000;}
[解决办法]
我给你个简单的方法你不用那就没办法了,

你要保证兼容性用JS也比你想的这个方法好

Repeater.Item是Repeater里对象集合,一个长度N的数据绑定进去,不是一次完成,而是依次循环绑定,Repeater里对象集合也依次变化直到N的长度,也就是1楼得到的值不正确,

按你这个设计只有在数据绑定Repeater前用一个public变量来记录数据的长度,而不是Repeater.Item的长度



[解决办法]
引用:
li:last-child {color:#FF0000;}


jq 取么

$(li).class("");
$(li:last-child).class("last")


repeater最后面也是生产html嘛 照着最后的html来选择不就行了

[解决办法]
定义一个public int rowCount;
在绑定repeater时,把记录数附给rowCount

<%#Container.ItemIndex==(rowCount-1)?"last":"" %> "
[解决办法]
jquery操作:
$("#KBProducts li").last().addClass("last");
[解决办法]
<asp:Repeater ID="Repeater1" runat="server">
<ItemTemplate>
<li class="<%#this.Repeater1.Items.Count + 1==(Repeater1.DataSource as DataTable).Rows.Count?"last":"" %> ">


</ItemTemplate>
</asp:Repeater>
[解决办法]
Refer:
repeater获取最后一起

http://www.cnblogs.com/insus/p/3210157.html
[解决办法]
用js去addClass最好了,其它的方法个人觉得效率都低

读书人网 >asp.net

热点推荐