文章自动公页
来源:互联网 发布:佛山市发发鱼网站源码 编辑:程序博客网 时间:2024/06/11 04:23
public static string Pagination(string articleid,string strcontent, int ContentLen)
{
//定义变量
int i, BeginPoint, EndPoint, pages, Breakpoint, CurrentPage, pagecount, pagesize;
string pa, articletext = "", contenttext, html = "";
//int BeginPoint,EndPoint;
//变量初始值
Breakpoint = 0;
BeginPoint = 0;//开始查询的字符串位置,初始为0
EndPoint = 0;
pagesize = ContentLen;//定义每页至少显示字符串数
pagecount = 0;
//获得当前的页数
if (System.Web.HttpContext.Current.Request.Params["page"] == "" || System.Web.HttpContext.Current.Request.Params["page"] == null)
{ CurrentPage = 1; }
else
{
CurrentPage = Convert.ToInt32(System.Web.HttpContext.Current.Request.Params["page"]);
}
//获得内容
contenttext = strcontent;
//判断页面的内容长度是否大于定义的每页至少显示字符串数
if (contenttext.Length >= pagesize)//如果大于字符串数,则我们可以分页显示
{
pages = contenttext.Length / pagesize;//获得大致的总页数
//根据目前获得的页数循环
for (i = 0; i <= pages; i++)
{
//如果查询开始位置到查询的范围超出整个内容的长度,那么就不用寻找断点(分页点);反之,查找
if (BeginPoint + pagesize < contenttext.Length)
{
Breakpoint = contenttext.IndexOf("<br />", BeginPoint + pagesize);//查找<br />分页点的位置
if (Breakpoint <= 0)//如果找不到
Breakpoint = contenttext.IndexOf("<BR />", BeginPoint + pagesize);//查找<BR />分页点的位置;这里您可以自己设置分页点的判断
if (Breakpoint <= 0)//如果找不到
Breakpoint = contenttext.IndexOf("</P>", BeginPoint + pagesize);//查找</p>分页点的位置;这里您可以自己设置分页点的判断
if (Breakpoint <= 0)//如果找不到
Breakpoint = contenttext.IndexOf("</p>", BeginPoint + pagesize);//查找</p>分页点的位置;这里您可以自己设置分页点的判断
}
if (Breakpoint <= 0)//如果找不到分页点,说明不能分页,也就不需要做其他的劳动了;否则,就进行分页
articletext = contenttext;//将结果付给要导出的变量
else
{
EndPoint = Breakpoint;//分页点的位置也就作为这一页的终点位置
if (BeginPoint + pagesize >= contenttext.Length)//如果起始位置到查询的范围超出整个内容的长度,那么这一页的终点位置为内容的终点
EndPoint = contenttext.Length;
if (CurrentPage == i + 1)//如果是当前,那么输出当前页的内容
articletext = contenttext.Substring(BeginPoint, EndPoint - BeginPoint);//取内容的起始位置到终点位置这段字符串输出
BeginPoint = Breakpoint;//将终点位置作为下一页的起始位置
pagecount++;//获得实际页总数
}
}
}
else
{ articletext = contenttext; }
if (pagecount > 1)
{
articletext += "<p>";
for (i = 1; i <= pagecount; i++)
{
if (i == CurrentPage)
articletext += "<b>[" + i + "]</b> ";
else
articletext += "<a href='?id=" + articleid + "&page=" + i + "'>[" + i + "]</a>";
}
}
return articletext;
}
public static StringBuilder AutoPagination(string articleid, string strcontent, int ContentLen)
{
//定义变量
int i, BeginPoint, EndPoint, pages, Breakpoint, CurrentPage, pagecount, pagesize;
string pa, contenttext, html = "";
StringBuilder articletext = new StringBuilder();
//int BeginPoint,EndPoint;
//变量初始值
Breakpoint = 0;
BeginPoint = 0;//开始查询的字符串位置,初始为0
EndPoint = 0;
pagesize = ContentLen;//定义每页至少显示字符串数
pagecount = 0;
//获得当前的页数
if (System.Web.HttpContext.Current.Request.Params["page"] == "" || System.Web.HttpContext.Current.Request.Params["page"] == null)
{ CurrentPage = 1; }
else
{
CurrentPage = Convert.ToInt32(System.Web.HttpContext.Current.Request.Params["page"]);
}
//获得内容
contenttext = strcontent;
//判断页面的内容长度是否大于定义的每页至少显示字符串数
if (contenttext.Length >= pagesize)//如果大于字符串数,则我们可以分页显示
{
pages = contenttext.Length / pagesize;//获得大致的总页数
//根据目前获得的页数循环
for (i = 0; i <= pages; i++)
{
//如果查询开始位置到查询的范围超出整个内容的长度,那么就不用寻找断点(分页点);反之,查找
if (BeginPoint + pagesize < contenttext.Length)
{
Breakpoint = contenttext.IndexOf("<br />", BeginPoint + pagesize);//查找<br />分页点的位置
if (Breakpoint <= 0)//如果找不到
Breakpoint = contenttext.IndexOf("<BR />", BeginPoint + pagesize);//查找<BR />分页点的位置;这里您可以自己设置分页点的判断
if (Breakpoint <= 0)//如果找不到
Breakpoint = contenttext.IndexOf("</P>", BeginPoint + pagesize);//查找</p>分页点的位置;这里您可以自己设置分页点的判断
if (Breakpoint <= 0)//如果找不到
Breakpoint = contenttext.IndexOf("</p>", BeginPoint + pagesize);//查找</p>分页点的位置;这里您可以自己设置分页点的判断
}
if (Breakpoint <= 0)//如果找不到分页点,说明不能分页,也就不需要做其他的劳动了;否则,就进行分页
{
articletext.Remove(0, articletext.Length);
articletext.Append(contenttext);
}//将结果付给要导出的变量
else
{
EndPoint = Breakpoint;//分页点的位置也就作为这一页的终点位置
if (BeginPoint + pagesize >= contenttext.Length)//如果起始位置到查询的范围超出整个内容的长度,那么这一页的终点位置为内容的终点
EndPoint = contenttext.Length;
if (CurrentPage == i + 1)//如果是当前,那么输出当前页的内容
{
articletext.Remove(0, articletext.Length);
articletext.Append(contenttext.Substring(BeginPoint, EndPoint - BeginPoint));
}//取内容的起始位置到终点位置这段字符串输出
BeginPoint = Breakpoint;//将终点位置作为下一页的起始位置
pagecount++;//获得实际页总数
}
}
}
else
{ articletext.Append(contenttext); }
if (pagecount > 1)
{
articletext.Append("<p>") ;
for (i = 1; i <= pagecount; i++)
{
if (i == CurrentPage)
articletext.Append("<b>[" + i + "]</b> ");
else
articletext.Append("<a href='?id=" + articleid + "&page=" + i + "'>[" + i + "]</a>");
}
}
return articletext;
}
- 文章自动公页
- 文章详情页链接自动生成二维码
- PHPCMS取消文章页自动截取摘要
- 文章自动排版功能。
- ASP文章自动分页
- 网络文章自动搜索
- 自动下载IEEE文章
- Jekyll 自动生成文章
- dedecms5.5 单页自动获取文章列表内容
- 长文章自动分页类
- 长文章自动分页类
- 长文章自动分页类
- jquery控制文章自动加长
- 关于自动布局的文章
- 马尔可夫模型自动生成文章
- 文章自动装箱的陷阱
- Python实现文章自动生成
- 复制文章自动copy文章地址以及版权的JS
- oracle
- 足の痛いが続いて。。。
- .net读取文档变乱码得处理方式
- java不定参数
- 带参数的main函数
- 文章自动公页
- Ajax无刷新读取文章列表
- 学JFreeChart不得不看的中文API
- sql注入过滤
- 智力题
- 公共类
- zju1091
- java String 替换
- 业务层