首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

repeater获取最后一起

2013-08-01 
repeater获取最后一行asp:Repeater runatserver IDKBProductsItemTemplateli class%#Contai

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最好了,其它的方法个人觉得效率都低

热点排行