http://www.aspsnippets.com/Articles/Custom-Paging-in-ASPNet-GridView-using-SQL-Server-Stored-Procedure.aspx限制页码上显示自定义分页
基于上面的教程中,我能够在我的GridView中创建自定义的页面,但我想限制页码在页面上显示。示例当我有10,000个记录要以每页10行显示设置时,页面链接将加载1 - 1000页不理想的页面链接。
我怎样才能使输出是这样的:
首先1 2 3 4 5 6 7 8 9 10最后
,并自动调整
首先2 3 4 5 6 7 8 9 10 11最后
等等。
下面是一个创建的所有页面显示设置
private void PopulatePager(int recordCount, int currentPage)
{
double dblPageCount = (double)((decimal)recordCount/decimal.Parse(ddlPageSize.SelectedValue));
int pageCount = (int)Math.Ceiling(dblPageCount);
List<ListItem> pages = new List<ListItem>();
if (pageCount > 0)
{
pages.Add(new ListItem("First", "1", currentPage > 1));
for (int i = 1; i <= pageCount; i++)
{
pages.Add(new ListItem(i.ToString(), i.ToString(), i != currentPage));
}
pages.Add(new ListItem("Last", pageCount.ToString(), currentPage < pageCount));
}
rptPager.DataSource = pages;
rptPager.DataBind();
}
这工作!谢谢:)我怎样才能包括:分页之前的结果1-10(记录总数)? – rickyProgrammer
您可以在rptPager(指您的链接)寻呼机控制之前添加一个asp:Label,并根据您当前的页面设置此标签的文本。类似于“结果”+((currentPage - 1)* pageSize,+ 1)+“ - ”+ Math.Min(currentPage * pageSize,recordCount)+“of”+ recordCount – potatopeelings
但是记录总数如何?例如:1-10的10,000。无论如何,谢谢,因为你已经回答了原始问题 – rickyProgrammer