微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在渲染时间中获取C#ASP.NET ListView中当前记录的索引

我有一个列表视图如下:
<asp:ListView ID="lstTopRanks" runat="server">
    <ItemTemplate>
        <div class="Amazing-{recordNumber}">{itemdata}</div>
    </ItemTemplate>
</asp:ListView>

我想用一个正在运行的计数器替换{recordNumber},所以显示的第一条记录为1,第二条记录为2,依此类推.

我怎样才能做到这一点?

提前致谢

解决方法

如果ID不是来自例如数据库,则可以使用Container.displayIndex或Container.DataItemIndex来执行此操作.

关键是:class =“Amazing-<%#Container.displayIndex 1%>”.

如果recordNumber确实来自外部数据源,您可以这样做:class =’Amazing-<%#Eval(“YourDatabaseIDColumn”)%>‘.

如果要分页数据源,displayIndex和DataItemIndex会有所不同. displayIndex是一个始终在当前页面上开始的运行索引,DataItemIndex是整个数据源中的运行数字.

这是一个例子:

代码隐藏:

//just to represent something like a db table with an ID and a description
Pair[] data = new Pair[] { new Pair(123,"row1"),new Pair(124,"row2"),new Pair(125,"row3"),new Pair(126,"row4"),new Pair(127,"row5"),new Pair(128,"row6"),new Pair(129,"row7"),new Pair(130,"row8"),new Pair(131,"row9"),new Pair(132,"row10") };

lstTopRanks.DataSource = data;
lstTopRanks.DataBind();

ASPX:

<asp:ListView ID="lstTopRanks" runat="server">
     <LayoutTemplate><asp:PlaceHolder ID="ItemPlaceHolder" runat="server"></asp:PlaceHolder></LayoutTemplate>
     <ItemTemplate>
        <div class="Amazing-<%#Container.displayIndex + 1 %>">
           displayIndex: <b><%#Container.displayIndex %></b>;
           DataItemIndex: <b><%#Container.DataItemIndex %></b>,ID and Text: <i><%#((Pair)Container.DataItem).First %>,<%#((Pair)Container.DataItem).Second %></i>
        </div>
     </ItemTemplate>
  </asp:ListView>

  <asp:DataPager ID="DataPagerProducts" runat="server" PagedControlID="lstTopRanks" PageSize="3" >
     <Fields>
        <asp:NextPrevIoUsPagerField ShowFirstPageButton="True" ShowNextPageButton="False" />
        <asp:NumericPagerField />
        <asp:NextPrevIoUsPagerField ShowLastPageButton="True" ShowPrevIoUsPageButton="False" />
     </Fields>
  </asp:DataPager>

结果如下:

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐