内容分页简单实现代码及祥解(C#)

网上已经有用asp对文章内容分页显示的代码,我也没有用时间详细研究。今天发布了几篇超长的文章,为了方便网民的浏览,才定下心来写了下面的代码。因为我们的程序是C#.net编写的,关于C#如此的例子、资料网上一点也找不到;所以只好从程序结构开始分析,一点程序却用了半天的时候完成,汗颜!不足之处,请大家指点,有什么更好的方法请告知。

显示内容部分

//来源:网人帝国(wren.cn/wrclub.net)
//作者:福星
//定义变量
int i,start,stop,t,stat,statt,pp,pagecount,pagesize;
//变量初始值
stat=0;
statt=0;
start=0;//开始查询的字符串位置,初始为0
stop=0;
pagesize=2000;//定义每页至少显示字符串数
pagecount=0;

//获得当前的页数
pa=Request.Params["page"];
if(pa=="" || pa==null)
pa="1";
pp=Convert.ToInt32(pa);

//获得内容
articletxt=rs["contenttxt"].ToString();

//判断页面的内容长度是否大于定义的每页至少显示字符串数
if(articletxt.Length>=pagesize)//如果大于字符串数,则我们可以分页显示
{
t=articletxt.Length/pagesize;//获得大致的总页数
//根据目前获得的页数循环
for(i=0;i

 1<t;i++) if(start+pagesize<articletxt.length)="" stat='articletxt.IndexOf("&lt;/P' {="" 如果查询开始位置到查询的范围超出整个内容的长度,那么就不用寻找断点(分页点);反之,查找="">",start+pagesize);//查找分页点的位置   
 2if(stat&lt;=0)//如果找不到   
 3stat=articletxt.IndexOf("",start+pagesize);//查找分页点的位置;这里您可以自己设置分页点的判断   
 4}   
 5if(stat&lt;=0)//如果找不到分页点,说明不能分页,也就不需要做其他的劳动了;否则,就进行分页   
 6articletext=articletxt;//将结果付给要导出的变量   
 7else   
 8{   
 9stop=stat;//分页点的位置也就作为这一页的终点位置   
10if(start+pagesize&gt;=articletxt.Length)//如果起始位置到查询的范围超出整个内容的长度,那么这一页的终点位置为内容的终点   
11stop=articletxt.Length;   
12if(pp==i+1)//如果是当前,那么输出当前页的内容   
13articletext=articletxt.Substring(start,stop-start);//取内容的起始位置到终点位置这段字符串输出   
14start=stat;//将终点位置作为下一页的起始位置   
15pagecount++;//获得实际页总数   
16}   
17}   
18} 
19
20**分页部分** (这里就简单多了)   
21
22
23string html;//定义分页代码变量   
24if(pagecount&gt;1)//当页数大于1的时候我们显示页数   
25{   
26for(i=1;i&lt;=pagecount;i++)   
27{   
28if(i==pp)//如果是当前页,加粗显示   
29html+="<b>["+i+"]</b> ";   
30else   
31html+="<a href='?id="+articleid+"&amp;page="+i+"'>["+i+"]</a> ";   
32}   
33if(pp+1&gt;pagecount)//显示下一页,方便浏览   
34html+="<a href='?id="+articleid+"&amp;page="+(pagecount)+"'>[下一页]</a>";   
35else   
36html+="<a href='?id="+articleid+"&amp;page="+(pp+1)+"'>[下一页]</a>";   
37} 
38
39  
40大家可以加入上面的代码试一下!有什么问题请到网人论坛发贴,地址: http://bbs.wrclub.net</t;i++)>
Published At
Categories with Web编程
Tagged with
comments powered by Disqus