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

原创 2004年04月12日 12:44:00

        网上已经有用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<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>";
 }


大家可以加入上面的代码试一下!有什么问题请到网人论坛发贴,地址:http://bbs.wrclub.net

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

来源:Internet 作者:未知版权:本文版权归原作者所有。        网上已经有用asp对文章内容分页显示的代码,我也没有用时间详细研究。今天发布了几篇超长的文章,为了方便网民的浏览,才定下心...
  • ctangqh
  • ctangqh
  • 2005年11月22日 08:43
  • 695

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

//定义变量 int i,start,stop,t,stat,statt,pp,pagecount,pagesize; //变量初始值 stat=0; statt=0; start=0;//开始查询的...
  • 21aspnet
  • 21aspnet
  • 2007年03月24日 14:58
  • 5442

C#内容分页简单实现代码及详解

//定义变量 int i,start,stop,t,stat,statt,pp,pagecount,pagesize; //变量初始值 stat=0; statt=0; start=0;//开始查询的...
  • piscailei
  • piscailei
  • 2007年05月18日 17:17
  • 402

[转载]C#特性详解

在Java中有反射和注解这个东西,可以很方便的完成数据库相关的一些操作,于是我想在C#中利用类似的技术来实现一些数据库相关的工作,但是不知道在C#中这项技术叫什么,于是在MSDN上面找,找了好一会发现...
  • CQ_Wacky
  • CQ_Wacky
  • 2015年07月06日 10:39
  • 469

php分页代码简单实现

php分页代码简单实现
  • jsship
  • jsship
  • 2014年11月19日 21:42
  • 25461

Think_PHP分页

public  function page(){    $Data = M('News'); // 实例化Data数据对象    import('ORG.Util.Page');// 导入分页类 ...
  • whjwhja6
  • whjwhja6
  • 2013年05月31日 22:33
  • 566

php - 分页

select * from tableName limit num1,num2 前端 : vue 后台:php UI : element-ui
  • flower46273736
  • flower46273736
  • 2017年08月17日 10:47
  • 194

socket使用详解(转)

 本文详细讲述了windows下socket的5种IO模型,只要你在windows下进行socket编程,一定离不开这5种模型中一种。很值得收藏。 Winsock 的I/O操作:1、 两种I/O模式 ...
  • hhao137
  • hhao137
  • 2009年06月08日 09:21
  • 2405

C# 特性详解

特性(attribute)是被指定给某一声明的一则附加的声明性信息。     在C#中,有一个小的预定义特性集合。在学习如何建立我们自己的定制特性(custom attributes)之前,我们...
  • a351945755
  • a351945755
  • 2014年06月27日 18:35
  • 664

c#调用多个可选条件查询的分页存储过程

一代码:public DataSet GetAllProduct(string productNameCode,byte productType,byte productState,         ...
  • zylhuo
  • zylhuo
  • 2009年07月22日 15:07
  • 1548
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:内容分页简单实现代码及祥解(C#)
举报原因:
原因补充:

(最多只允许输入30个字)