Asp.Net分页可以设置分页的首页、上一页、下一页、尾页在前台显示的链接文本。这里只是提及简单功能,深入研究剖析其原理就更得心应手了。
//containerId 导航的目标容器,建议使用span标签
//url 默认为XXX.XX?pagenum=
//curPage 当前的页码
//maxSection 最大的分段数(一段里面最大的页数)
//totalPage 总共的页数
function Navigate(containerId,url,curPage,maxSection, totalPage) {
//到第一页符号
var first = "|<<";
//到最后一页符号
var last = ">>|";
//前一页符号
var back = "<"
//下一页符号
var next = ">";
//非法页码处理
if (curPage > totalPage || curPage < 0) {
curPage = 1;
}
//获得导航容器父元素
var containerObj = document.getElementById(containerId);
//获得当前页所在的分段号(调试了老半天原来是类型问题,居然是float型)
var curSection = Math.floor((curPage - 1) / maxSection + 1);
//获得最后一个分段的号
var lastSection = Math.floor((totalPage - 1) / maxSection + 1);
var html = "";
//当前页不是第1页,添加到首页,和前一页
if (curPage > 1) {
html += "... ";
}
//当前段的第一页号码
var curSectionFirst = (curSection - 1) * maxSection + 1;
//当前段的第最后一页号码
var curSecitonLast = curSection * maxSection;
//输出当前段的页码
for (var i = curSectionFirst; i <= curSecitonLast && i <= totalPage; i++) {
if (curPage == i) {
html += "... ";
}
//当前页不是第最后页,添加下一页和最后一页符号
if (curPage != totalPage) {
html += "<a data-cke-saved-href="http://blog.csdn.net/jiangpeng59/article/details/" href="http://blog.csdn.net/jiangpeng59/article/details/'"" +="" url="" (curpage="" 1)="" "'="">" + next + " ";
html += "
}
获得如下分页导航实现效果如下: |<< < ... 9 10 11 12 13 14 15 16 ... > >>|