内容分页简单实现代码及祥解(C#)
2008-08-25 17:31
597 查看
一.显示内容部分:
//定义变量
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的时候我们显示页数
{
StringBuilder htm = new StringBuilder();
if (pp - 1 > 0)
{
htm.Append(" <a href=?id=" + articleid + "&page=" + (pp - 1) + ">[上一页]</a> ");
}
else
{
htm.Append(" <a href=?id=" + articleid + "&page=1>[上一页]</a> ");
}
for (i = 1; i <= pagecount; i++)
{
if (i == pp)//如果是当前页,加粗显示
htm.Append( "<b>[" + i + "]</b> ");
else
htm.Append( "<a href=?id=" + articleid + "&page=" + i + ">[" + i + "]</a> ");
}
if (pp + 1 > pagecount)//显示下一页,方便浏览
htm.Append( "<a href=?id=" + articleid + "&page=" + (pagecount) + ">[下一页]</a>");
else
htm.Append( "<a href=?id=" + articleid + "&page=" + (pp + 1) + ">[下一页]</a>");
html = htm.ToString();
}
//定义变量
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的时候我们显示页数
{
StringBuilder htm = new StringBuilder();
if (pp - 1 > 0)
{
htm.Append(" <a href=?id=" + articleid + "&page=" + (pp - 1) + ">[上一页]</a> ");
}
else
{
htm.Append(" <a href=?id=" + articleid + "&page=1>[上一页]</a> ");
}
for (i = 1; i <= pagecount; i++)
{
if (i == pp)//如果是当前页,加粗显示
htm.Append( "<b>[" + i + "]</b> ");
else
htm.Append( "<a href=?id=" + articleid + "&page=" + i + ">[" + i + "]</a> ");
}
if (pp + 1 > pagecount)//显示下一页,方便浏览
htm.Append( "<a href=?id=" + articleid + "&page=" + (pagecount) + ">[下一页]</a>");
else
htm.Append( "<a href=?id=" + articleid + "&page=" + (pp + 1) + ">[下一页]</a>");
html = htm.ToString();
}
相关文章推荐
- C#内容分页简单实现代码及祥解
- 内容分页简单实现代码及祥解(C#)
- [导入]C#内容分页简单实现代码及祥解
- 内容分页简单实现代码及祥解(C#)
- C#内容分页简单实现代码及祥解
- 内容分页简单实现代码及祥解(C#)
- C#内容分页简单实现代码及祥解
- 内容分页简单实现代码及祥解(C#)
- C#内容分页简单实现代码及详解
- [每天一个demo]用c#实现简单的xml操作代码
- ASP.net C# 非常简单的实现分页
- 简单的分页代码js实现
- C#摄像头实现拍照功能的简单代码示例
- C#摄像头实现拍照功能的简单代码示例
- ASP.net(C#)从其他网站抓取内容并截取有用信息的实现代码
- 简单的分页代码js实现
- JavaWeb 简单分页实现代码
- php分页查询的简单实现代码
- PHP长文章分页 实现手动分页代码 代码简单
- c#关于网页内容抓取,简单爬虫的实现。(包括动态,静态的)