ASP.NET长文章分页
public string NoHTML(string Htmlstring) //去除HTML标记
{
//删除脚本
Htmlstring = Regex.Replace(Htmlstring, @" <script[^>]*?>.*? </script>", "", RegexOptions.IgnoreCase);
//删除HTML
Htmlstring = Regex.Replace(Htmlstring, @" <(.[^>]*)>", "", RegexOptions.IgnoreCase);
Htmlstring = Regex.Replace(Htmlstring, @"([\r\n])[\s]+", "", RegexOptions.IgnoreCase);
Htmlstring = Regex.Replace(Htmlstring, @"-->", "", RegexOptions.IgnoreCase);
Htmlstring = Regex.Replace(Htmlstring, @" <!--.*", "", RegexOptions.IgnoreCase);
Htmlstring = Regex.Replace(Htmlstring, @"&(quot|#34);", "\"", RegexOptions.IgnoreCase);
Htmlstring = Regex.Replace(Htmlstring, @"&(amp|#38);", "&", RegexOptions.IgnoreCase);
Htmlstring = Regex.Replace(Htmlstring, @"&(lt|#60);", " <", RegexOptions.IgnoreCase);
Htmlstring = Regex.Replace(Htmlstring, @"&(gt|#62);", ">", RegexOptions.IgnoreCase);
Htmlstring = Regex.Replace(Htmlstring, @"&(nbsp|#160);", " ", RegexOptions.IgnoreCase);
Htmlstring = Regex.Replace(Htmlstring, @"&(iexcl|#161);", "\xa1", RegexOptions.IgnoreCase);
Htmlstring = Regex.Replace(Htmlstring, @"&(cent|#162);", "\xa2", RegexOptions.IgnoreCase);
Htmlstring = Regex.Replace(Htmlstring, @"&(pound|#163);", "\xa3", RegexOptions.IgnoreCase);
Htmlstring = Regex.Replace(Htmlstring, @"&(copy|#169);", "\xa9", RegexOptions.IgnoreCase);
Htmlstring = Regex.Replace(Htmlstring, @"(\d+);", "", RegexOptions.IgnoreCase);
Htmlstring.Replace(" <", "");
Htmlstring.Replace(">", "");
Htmlstring.Replace("\r\n", "");
Htmlstring = HttpContext.Current.Server.HtmlEncode(Htmlstring).Trim();
return Htmlstring;
}
public string OutputBySize(string p_strContent)//分页函数
{
string m_strRet = "";
int m_intPageSize = 2500;//文章每页大小
int m_intCurrentPage = 1;//设置第一页为初始页
int m_intTotalPage = 0;
int m_intArticlelength = NoHTML(p_strContent).Length;//文章长度
if (m_intPageSize < m_intArticlelength)
{//如果每页大小大于文章长度时就不用分页了
if (m_intArticlelength % m_intPageSize == 0)
{//set total pages count
m_intTotalPage = m_intArticlelength / m_intPageSize;
}
else
{//if the totalsize
m_intTotalPage = m_intArticlelength / m_intPageSize + 1;
}
if (Request.QueryString["pages"] != null)
{//set Current page number
try
{//处理不正常的地址栏的值
m_intCurrentPage = Convert.ToInt32(Request.QueryString["pages"]);
if (m_intCurrentPage > m_intTotalPage)
m_intCurrentPage = m_intTotalPage;
}
catch
{
m_intCurrentPage = m_intCurrentPage;
}
}
//set the page content 设置获取当前页的大小
if (m_intCurrentPage < m_intTotalPage)
{
m_intPageSize = m_intCurrentPage < m_intTotalPage ? m_intPageSize : (m_intArticlelength - m_intPageSize * (m_intCurrentPage - 1));
m_strRet += p_strContent.Substring(m_intPageSize * (m_intCurrentPage - 1), m_intPageSize);
}
else if(m_intCurrentPage == m_intTotalPage )
{
int mm_intPageSize=m_intArticlelength - m_intPageSize * (m_intCurrentPage - 1);
m_strRet += p_strContent.Substring(m_intArticlelength - mm_intPageSize);
}
string m_strPageInfo = " <p> </p>";
for (int i = 1; i <= m_intTotalPage; i++)
{
if (i == m_intCurrentPage)
m_strPageInfo += "第" + i + "页 | ";
else
m_strPageInfo += " <a href=news_id" + Request.QueryString["wzid"] + "_pages" + i + ".html>" + i + " </a>|";
}
//输出显示各个页码
this.labPageNumber.Text = m_strPageInfo;
}
else
{
m_strRet += p_strContent;
}
return m_strRet;
}
protected void Page_Load(object sender, EventArgs e)
{
SqlDataReader dr = shuju.duquzt(Int32.Parse(Request.QueryString["wzid"]));
if (dr == null) return;
if (dr.Read())
{
this.labContent.Text = OutputBySize(dr["wzcontent"].ToString());//调用该函数
前台页面分页处使用的控件: <asp:Label ID="labPageNumber" Font-Size="14px" runat="server"> </asp:Label>
来源
http://topic.csdn.net/u/20081205/13/874f3dcf-bae0-40b3-acd5-8d474edc24e8.html
以及
http://topic.csdn.net/u/20080624/10/26a45062-572c-47e9-bb38-d9aa05b6c2ed.html
转载于:https://www.cnblogs.com/jianjialin/archive/2009/01/08/1371957.html
ASP.NET长文章分页相关推荐
- 方便快捷的php长文章分页函数,PHP长文章分页的一种实现方法
PHP长文章分页的一种实现方法[登录] 因项目需要,需要用PHP写一个长文章的分页函数,还是老方法,先看网上有没有现成的,于是找到了被众多网站引用的一个长文章分页的PHP函数,我主要参考了<方便 ...
- 使用PHP将长文章分页
新学的同志们,今天给大家们说一个很好的分页方法,值需要简单的几行代码和一个封装好的类就可以轻松的完成长文章进行分页的方法,再也不用每次敲那繁琐的代码,我希望今天给的代码可以对大家能够有用. 好了,废了 ...
- PHP 长文章分页函数
<?php function ff_page($content,$page) { global $expert_id; $PageLength = 2000; //每页字数 $CLength = ...
- wordpress 文章php,wordpress怎么发长文章
有时单个文章页面篇幅过长,会影响页面加载速度和用户体验,这时我们需要使用WordPress长文章分页显示.实现分页有二种方法,一种是使用wordpress长文章分页插件,另一种是通过修改代码来实现. ...
- ASP新闻分页,将一篇过长的文章分页,生成静态页面
老话题,新问题:新闻分页,将一篇过长的文章分页,生成静态页面. 问题来源于制作大型新闻文章管理系统,往往碰到文章超长的情况. 现在将他们生成静态页面没有什么问题,但是如何将它们按照某种规则,生成编号为 ...
- ASP长文章内容自动分页函数
<% Const maxPagesize=1000 '设置分页字数 Function InsertPageBreak(strText) Dim strPagebreak,s,ss Dim ...
- php对长文章进行分页处理
具体效果请查看http://www.leisongwang.com 设计的初衷是:文章列表页,如果用strip_tags删除了所有的样式,则首页的文章简介会显得很乱,没有样式.如果简单的用strip_ ...
- 一起谈.NET技术,ASP.NET MVC2实现分页和右键菜单
右键菜单非常方便,很多时候会用到.这篇文章将使用一个JQUERY的插件在asp.net mvc中实现右键菜单.本文还将介绍一下在asp.net mvc中如何实现简单的分页.效果如下图: 首先,下载此插 ...
- html表格分页无插件,wordpress无插件实现单篇文章分页显示
今天需要实现一个功能,wordpress实现一篇较长的文章分页显示,于是乎找了很多资料,找了很久才找到,大部分都是3.0之前的实现方法,所以都不成功,后来终于找到了,也知道了之前的不能实现的原因.下面 ...
- 你一写长文章就焦虑拖延?
这是病,得治. 症状 每年春季学期,总会有一些人很烦躁. 别人晒朋友圈,他留言说不中听的话:你见他突然妄自菲薄,开导劝慰他,却被辩驳甚至骂一通:一点儿小事儿,都能激起他胸中的愤怒,大吼大叫甚至不惜撕破 ...
最新文章
- php自动分配,PHP上传文件时自动分配路径的方法_php技巧
- Camera初探(二)
- scp命令 – 远程拷贝文件
- Spring boot + mybatis + oracle代码生成器
- Fence(CF-324F)
- springMVC导出 CSV案例
- java 小根堆 排序_堆排序(java实现)
- vb登录ftp服务器并打开文档,VB.Net实现登陆Ftp的方法
- TC397 CANFD 用例分析
- ios申请企业开发者账号的代理_苹果开发者账号个人、公司、企业账号的申请和区别...
- R语言使用rbind函数向量或者dataframe数据和另外一个dataframe数据纵向合并起来(vertically)
- python opencv 旋转图像大小不变
- 转载:性格与健康(刘善人)之二
- Enumeration
- 使用PMM图形化监控MySQL MGR动态
- UITableView reload刷新闪动问题
- 免费开源CDN jsDelivr使用
- CSS选择器的优先级是怎样的?
- ubuntu18.04 安装HP打印机
- uboot源码--第二阶段