因为爱干净,所以不太喜欢ASP.NET自动生成的一大堆没用的__VIEWSTATE,本来显示文章内容也没有什么可向服务器端提交的,也没有什么东西可保留的,加上__VIEWSTATE返回到前台确实是太多,所以将服务器端的FORM RUN=SERVER全删除掉了,同时又为了SEO方面的考虑,直接将分页重写成HTML形式的,最终生成的分页开式为:
[ 第1页 ] [ 第2页 ] [ 第3页 ] [ 第4页 ] [ 第5页 ] [ 第6页 ] [ 第7页 ] [ 第8页 ] [ 第9页 ] [ 第10页 ] [ 下一页 ] |
这个形式的,该文章总共有14页,点击下一页时形式为
[ 上一页 ] [ 第11页 ] [ 第12页 ] [ 第13页 ] [ 第14页 ] |
同时,为了区别显示当前页,所以将当前页标成红色显示,点击第13页时效果如下:
[ 上一页 ] [ 第11页 ] [ 第12页 ] [ 第13页 ] [ 第14页 ] |
生成的链接形式为:
第一页:ShowNews/2010112401510259154259.html
第二页:ShowNews/2010112401510259154259-2.html
第三页:ShowNews/2010112401510259154259-3.html
以下为控制代码,大体上都已实现内容页分页功能,稍有不足是还没有把内容和分页代码隔离开,有时候应用的时候可能分页和内容会连在一起,大家自己改动一下代码即可,这里只是提供一大致思路,详细功能有待自己改善。
protected string PageSplit(string content,int page,int pageSize) //content为要分页的内容,PAGE为当前页 { if (content.IndexOf(PageTag) <= 0) //如果没有分页 int PageArryCount; //总的分页组数 //==============判断当前页是哪个分页组的 string url = Request["id"]; for (int i = (CurrentArry-1) * pageSize; i < ((CurrentArry-1) * pageSize) + pageSize;i++ ) if (i >= ContentArry.Length-1) break; } if (CurrentArry >= PageArryCount) //如果当前分页组在于或等于总组数 |