【原创】asp.net webdiyer AspNetPager控件分页码改变时,序号列从新从1开始问题的解决

 

长话短说,首先看repeater 配合 webdiyer AspNetPager使用时webdiyer AspNetPager属性设置代码。

 <webdiyer:AspNetPager ID="AspNetPager1" runat="server" CssClass="paginator" OnPageChanging="AspNetPager1_PageChanging"
        CurrentPageButtonClass="cpb" FirstPageText="首页" LastPageText="尾页" NextPageText="下一页"
        PrevPageText="上一页" ShowMoreButtons="true" ShowCustomInfoSection="Right" CustomInfoTextAlign="Right"
        LayoutType="Table" ShowPageIndexBox="Never" SubmitButtonText="跳转" PageSize="18"
        CustomInfoHTML="共%PageCount%页/第%CurrentPageIndex%页,每页%PageSize%条,总记录数:%RecordCount%"
        UrlPaging="True" AlwaysShow="true">
    </webdiyer:AspNetPager>

 

从 上边代码可看出,此分页传值方式为URL传值。当使用<%#Container.ItemIndex+1%>来生成序号时,第二页序号依然从1开始,理想情况下的话,应该从3开始。

  【C#】 后台处理方法:

 1         /// <summary>

 2         /// 序号生成

 3         /// </summary>

 4         /// <param name="ItemIndex">数据Index</param>

 5         /// <returns></returns>

 6         public string ReturnOrder(int ItemIndex)

 7         {

 8             int page = 0;

 9             if (Request.QueryString["page"] != null)

10             {

11                 page = int.Parse(Request.QueryString["page"]) - 1;

12             }

13 

14             int strXM = page * AspNetPager1.PageSize + ItemIndex;

15             return strXM.ToString();

16         }

【html】前台调用代码:

1       <td style="white-space: nowrap" align="center">

2           <%# ReturnOrder(Container.ItemIndex+1)%>

3         </td>

 

效果:

你可能感兴趣的:(asp.net)