实现对过长文字内容进行分页显示

   在我们制作网站的过程中,难免会碰到最终显示页面的正文内容过长的问题,这样会导致浏览者往下不停的翻屏,那么有没有办法将过长的正文内容进行分页呢?

显示内容部分:
程序代码 程序代码
//FLYWE Blog
//www.flywe.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<t;i++)
{
  //如果查询开始位置到查询的范围超出整个内容的长度,那么就不用寻找断点(分页点);反之,查找
  if(start+pagesize<articletxt.Length)
  {
   stat=articletxt.IndexOf("</P>",start+pagesize);//查找</P>分页点的位置
   if(stat<=0)//如果找不到
    stat=articletxt.IndexOf("</p>",start+pagesize);//查找</p>分页点的位置;这里您可以自己设置分页点的判断
  }
  if(stat<=0)//如果找不到分页点,说明不能分页,也就不需要做其他的劳动了;否则,就进行分页
   articletext=articletxt;//将结果付给要导出的变量
  else
  {
   stop=stat;//分页点的位置也就作为这一页的终点位置
   if(start+pagesize>=articletxt.Length)//如果起始位置到查询的范围超出整个内容的长度,那么这一页的终点位置为内容的终点
    stop=articletxt.Length;
   if(pp==i+1)//如果是当前,那么输出当前页的内容
    articletext=articletxt.Substring(start,stop-start);//取内容的起始位置到终点位置这段字符串输出
   start=stat;//将终点位置作为下一页的起始位置
   pagecount++;//获得实际页总数
  }
}
}


分页部分:
程序代码 程序代码
string html;//定义分页代码变量
if(pagecount>1)//当页数大于1的时候我们显示页数
{
  for(i=1;i<=pagecount;i++)
  {
     if(i==pp)//如果是当前页,加粗显示
      html+="<b>["+i+"]</b> ";
     else
    html+="<a href=?id="+articleid+"&page="+i+">["+i+"]</a> ";
  }
  if(pp+1>pagecount)//显示下一页,方便浏览
   html+="<a href=?id="+articleid+"&page="+(pagecount)+">[下一页]</a></p>";
  else
   html+="<a href=?id="+articleid+"&page="+(pp+1)+">[下一页]</a></p>";
}


通过上面这个方法可以实现对内容的分页,如果大家有更好的分页方法,欢迎大家提供!

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值