首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • 【300分求解】非静态生成的内容页面,如何实现分页? [已结贴,结贴人:AzureSharp]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-18 21:23:04 楼主
    页面不是静态生成的。
    前台页面内容里面有一个Literal控件

    后台代码基本上类似于这样:
    Literal.text=db.content.htmlstring;

    请问这样的页面要如何实现分页,另外。因为是直接写入html代码,在计算分页大小的时候要防止恰好遇到HTML代码的时候被截断。。

    请问如何实现?谢谢各位大侠先。!


    我是要做纯内容的分页。。
    就是说。
    一个 <DIV> </Div>里面有一个Literal控件。。

    这个Literal的text就是一片文章内容的html代码。

    <p>今天天气很好(abc) <br />
    <a target="_blank" href="/upimg/070211/1_163723.jpg">
    <img height="283" alt="" width="600" border="0" src="/upimg/070211/1_163723.jpg" />
    </a>&nbsp; </p> 
    <p>&nbsp; </p> 
    <p>内容很好(黑皮): <br />
    <a target="_blank" href="/upimg/070211/1> </A>


    text部分,里面没有任何规则.
    因为内容是HTML代码。截取的时候。比如恰好遇到 <a href="xxxxx.html"> </a>
    如果把这个截断了不是会出现乱码么

    这样的怎么分页 ....


    请问怎么写分页代码.


    需要一个完整的解决方案代码。谢谢。。 帮我解决问题的前辈。我会给到250分以上,其余用来答谢。其他前辈的帮顶。。  当然我的意思不是说。用分来诱惑之类的。只是为了表达我的感激。 因为这个问题对于大家来说不算难题,但是我来说是个大问题,而且很急。


    另外两个100分同样标题的帖子。


    http://topic.csdn.net/u/20080718/10/a1e1c1e6-ad03-4fe8-9922-735d82d276a9.html
    http://topic.csdn.net/u/20080718/10/a68152ba-6ea7-4193-a7f6-8e70d7c67b1f.html
    100  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-18 21:25:421楼 得分:0
    沙发帮你顶
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-18 21:40:392楼 得分:0
    这个确实是比较复杂.
    想到这样一个思路.
    先得到所有非HTML文本,然后根据纯文件得到分页位置.然后把这个位置往前找找到html标记,得到这一段类容.
    这一段内容再在原始文件中找,找到位置后,在些分页.估计听起来有点谜糊,我一会写个例子.实现是可以,但效率不一定高.

    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-18 21:57:463楼 得分:0
    谢谢。。。期待楼上前辈!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-18 22:19:504楼 得分:5
    引用 2 楼 cpp2017 的回复:
    这个确实是比较复杂.
    想到这样一个思路.
    先得到所有非HTML文本,然后根据纯文件得到分页位置.然后把这个位置往前找找到html标记,得到这一段类容.
    这一段内容再在原始文件中找,找到位置后,在些分页.估计听起来有点谜糊,我一会写个例子.实现是可以,但效率不一定高.


    嗯。思路是比我们要广些,呵。

    不过效率方面确实不一定高哦。呵。

    我另有一个建议,就是CPP2017代码写出来以后,你可以把他的代码放到后台,就是数据内容在入库之前就用他的方法进行分页加入分页标记,再存入数据库,这样你每次取出数据的时候,只要用分页标记进行分页显示就OK了。。。

    小小建议,接点分:)
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-18 22:35:345楼 得分:0
    引用 1 楼 mengjun5200 的回复:
    沙发帮你顶
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-18 22:36:166楼 得分:0
    刚刚把正常的写了可以,但遇到个小小的麻烦,就是刚好分页的地方是个空格,结果在原始文件中不好定位,让我再想想解决办法.
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-18 23:02:127楼 得分:0
    方法一:
    根据楼上的,可以先去掉所有空格,然后再根据每页几个字来进行分页,但是要注意英文的问题。

    方法二:
    再编辑的时候,自己手动插入分页标签。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-18 23:07:008楼 得分:0
    引用 6 楼 cpp2017 的回复:
    刚刚把正常的写了可以,但遇到个小小的麻烦,就是刚好分页的地方是个空格,结果在原始文件中不好定位,让我再想想解决办法.


    辛苦了,呵
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-18 23:07:499楼 得分:0
    大家来帮忙顶下我的贴:http://topic.csdn.net/u/20080718/22/0abf976b-939b-41db-802b-346fd24a1e4f.html
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-18 23:23:1910楼 得分:85
    换了思路了,还有待完善.


    C# code
    string strHTML = @"<p>今天天气很好(abc) <br /> <a target=""_blank"" href=""/upimg/070211/1_163723.jpg""> <img height=""283"" alt="""" width=""600"" border=""0"" src=""/upimg/070211/1_163723.jpg"" /> </a>&nbsp; </p> <p>&nbsp; </p> <p>内容很好(黑皮): <br /> <a target=""_blank"" href=""/upimg/070211/1> </A> "; strHTML = strHTML.Replace("\r\n",""); strHTML = strHTML.Replace("&nbsp;", " "); string sText = System.Text.RegularExpressions.Regex.Replace(strHTML, "<[^>]*?>", ""); System.Text.StringBuilder sb = new System.Text.StringBuilder(strHTML); int PageSize = 10; int PageNo = 0; int PageCount = sText.Length / PageSize + 1; for (PageNo = 1; PageNo <= PageCount; PageNo++) { int FromNo = (PageNo - 1) * PageSize+1; int ToNo = PageNo * PageSize; if (ToNo < strHTML.Length - 2) { string HtmlNew = this.GetPagerHtml(FromNo,ToNo,sb); // HtmlNew = HtmlNew.Replace(" ", "&nbsp;"); Response.Write(HtmlNew + "<HR><FONT COLOR='red'>第" + PageNo.ToString() + "页</font><BR>"); } } } string GetPagerHtml(int FromNo, int ToNo, System.Text.StringBuilder sb) { int Pos1 = this.GetHtmlPos(FromNo-1, sb); int Pos2 = this.GetHtmlPos(ToNo-1, sb); if (Pos2 > Pos1 && Pos2 < sb.Length) { return sb.ToString().Substring(Pos1, Pos2 - Pos1 + 1); } else return "ERROR"; } int GetHtmlPos(int TextPoistion,System.Text.StringBuilder sb) { int iTextCount = 0; int iPos = 0; bool bInTag = false; while (iTextCount < TextPoistion) { if (iPos >= sb.Length - 1) return sb.Length - 1; char c = sb[iPos]; iPos++; if (c == '<') { bInTag = true; continue; } else if (c == '>') { bInTag = false; continue; } if (bInTag) { continue; } iTextCount++; if (iTextCount == TextPoistion) { return iPos; } } return iPos; }
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-18 23:28:5011楼 得分:0
    学习
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-18 23:35:5212楼 得分:0
    找了个新浪的文章,大致可行,其他的你还要自己处理一下.比如空格的问题==


    C# code
    protected void Page_Load(object sender, EventArgs e) { string strHTML = @"<p>  这些天,教育部新闻发言人王旭明的办公室里有些杂乱,书架被清空了,办公桌上的文件资料堆放得满满当当。</p><div style=""float:left;background:#FFF;border:1px solid #cbd8eb;text-align:center;padding:5px;margin:3px 5px 0 0;""> <a href=""http://video.sina.com.cn/jump/news/c/v/2008-07-18/071819037.shtml"" target=""_blank"" style=""display:block;text-align:center;width:89px;height:80px; background:#F00 url(http://i2.sinaimg.cn/cctv/deco/2007/1221/content_video_btn_bg_ws_006.gif) no-repeat 0 0;margin:0 auto 5px auto;padding:0;""><img src=""http://p.v.iask.com/270/264/15045956_0.jpg"" width=""83"" height=""60"" alt=""王旭明个性率直"" style=""border:none;margin-top:2px;""/></a> <p style=""text-align:center; display:block; font-weight:bold; font-size:12px; color:#f00; line-height:14px;margin:0;""><a href=""http://video.sina.com.cn/jump/news/c/v/2008-07-18/071819037.shtml"" target=""_blank"" style=""text-decoration:none;color:#F00;"">王旭明个性率直</a></p> </div> <p>  “没用的东西赶紧扔了吧!”“不行,这个时候我突然觉得每张纸片都很重要。”</p> <p>  上个月,王旭明接到有关部门的通知,他将离开教育部新闻发言人岗位,另有任用。第一时间知道这个消息的几名记者,特意买了一束百合花送到他办公室。在充满离别气息的办公室里,这束静静绽放的百合花被王旭明一直放到枯萎,他仍然舍不得丢弃。</p> <p>  据悉,7月18日,他将赴任语文出版社社长。</p> <p>  作为国内比较有个性的发言人之一,<a class=akey href=""http://news.sina.com.cn/c/2008-03-05/113715081213.shtml"" target=_blank>王旭明在任时曾饱受争议</a>,经常由新闻发言人变成新闻当事人。有评价说:“他能够在这个位置上干5年,已经是奇迹了。”</p> <p>  <a class=akey href=""http://news.sina.com.cn/c/2006-12-21/091911849390.shtml"" target=_blank>王旭明也被一些记者“整”过</a>,但他和很多记者却是最好的朋友。在他离职的消息被披露后,有记者在博客上撰文,称他的离开“标志着一个时代的结束”。</p> <p>  <strong>服务媒体是一门学问</strong></p> <p>  7月11日下午,王旭明以教育部新闻发言人的身份应邀到北京八十中主持《第三套全国中小学生系列广播体操》的发布。当天中午临出发前,他在办公室里嚼了块口香糖,又往身上喷了几下香水。他说,这是他的告别演出,“不能演砸了”。</p> <p>  以往,主持和出席各种新闻发布会是王旭明的日常工作,也是他最享受的事情。在他办公室的一进门处,悬挂着他的“行头”——暗红色竖格短袖衬衫、两套考究的西服、十来条精致的领带。墙角处还挂着他的几张生活照,照片中他帅气自信,看上去颇有几分明星状。</p> <p>  在八十中的新闻发布会现场,他对前来的记者说:“我觉得今天的发布会没有什么可提问的内容,但你们的水平比我高,所以我还是想听一听你们有没有什么问题。”当天,到场的记者格外捧场,左一个问题右一个问题地发问,甚至连“成年人是否适合做中小学生的第三套广播体操”这样的问题都有。记者们似乎在以一场热烈的提问向王旭明做最后的告别。</p> <p>  在记者面前,王旭明并不掩饰他对新闻发言人这个舞台的眷恋。对于自己失去的舞台,他只说了四个字:“欲哭无泪。”</p> <p>  在获悉自己工作将有变动的消息后,王旭明依然履行着一个新闻发言人的职责。网上曾谣传北京在奥运会期间将要求留学生提前回国。在得知这一消息的当天,他马上请有关部门提供准确信息,并在改编后以新闻发言人回应的方式发布到教育部的官方网站上进行辟谣。他清楚地记得这则消息上网的时间是当天下午4时。有意思的是,直到第二天中午,他还接到3个电话,要求对此事作出回应。</p> <p>  “我会把要求澄清的内容抢在第一时间进行解释和澄清。这是考验新闻发言人及时应对的水平和能力。”王旭明说,他当新闻官最重要的理念就是服务,在担任新闻发言人之前,他曾经当过5年新闻处处长,那个岗位培养了他对媒体的服务意识。</p> <p>  “服务媒体不是吃喝给钱。”在王旭明眼中,服务媒体是一门学问。他认为,一个优秀的新闻发言人在服务媒体过程中,除要及时准确地传递政府信息外,还应具备新闻策划以及与媒体进行沟通和协调的能力。</p> <p>  5年时间,100多场新闻发布会,上千次记者采访中,王旭明恪守着这一信条。他说:“想要把政策说明白,念文件看似最明白,其实并不明白,要把那些内容吞到肚子里滚烂后再用自己的话反嚼出来,才能让记者明白,让百姓清楚。而这个过程还要尽量做到形象、具体、生动、有效。”</p> <p>  <strong>好的新闻发言人是稀有动物</strong></p> <p>  在即将奔赴新的工作岗位之时,王旭明掏钱请记者在街边的新疆饭馆告别。他随手从公文包里掏出一个内页有些破损的记者证给记者看,照片上的他,20多岁的样子,一头卷曲的头发,眼神闪亮,充满朝气。那是1991年他在中国教育报当记者时新闻出版总署颁发给他的,调到教育部后,他一直舍不得上交。</p> <p>  “我在记者岗位上干了7年,我了解记者工作,知道哪些内容是记者想要的,也知道什么样的新闻发布方式能吸引记者的眼光。”王旭明对此一直十分自信。甚至有人曾爆料说,有时王旭明在主持新闻发布会时见记者不能问到“点儿”上,他自己会十分着急,甚至会自己跳出来以网友的身份提问。</p> <p>  “中国需要千千万万个王旭明,中国实际上只有一个王旭明。”对于这样的评价,王旭明欣然一笑。他说:“独特的经历对于新闻发言人来说太重要了,是历史和经历把我推上了这样一个历史舞台。”</p> <p>  在当记者和教育部办公厅新闻处处长之前,王旭明还有过7年的教师经历。“如果铁道部的新闻发言人没有在铁路一线的工作经历,卫生部的新闻发言人没有当过医生、护士,教育部的新闻发言人没有当教师的经历,那他们在新闻发言人岗位上多多少少会有些欠缺!”而正是因为有这样的经历,王旭明觉得自己既了解老师和学生,又了解媒体,同时还了解国家政策。</p> <p>  “我做过老师,我知道如何让45个学生的眼光集中在我身上,并且喜欢我。因此在新闻发布会现场,我也同样知道如何让几十个甚至几百个记者的眼光集中在我身上,这不是只靠手里的几份材料就能做得到的。”</p> <p>  凭借自己独特的经历和人缘,王旭明自称已经“降伏”了几位资深的媒体人,有的甚至比他的年龄更年长。</p> <p>  “在很多人眼里,新闻发言人是个官员,但我认为新闻发言人更应该是个搭桥的人,桥的一边是政府和制定各项政策的行政部门,桥的另外一边是公众,桥上走的应该是媒体。”王旭明说,“桥的旁边还有公路铁路,搭桥人如果功夫高,就能把人吸引到桥上来,并通过媒体把桥两头的声音都传达出去。”</p> <p>  “为什么6月20日胡锦涛在视察人民日报社时要在人民网和网友聊天,并强调提出要增强新闻报道的亲和力、吸引力、感染力?为什么温家宝在地震前线要手持简易话筒召开新闻发布会?”在记者采访过程中,王旭明几次这样反问记者来强调政府与公众沟通的重要性。</p> <p>  王旭明觉得自己能够胜任而且能够把搭桥人的工作干得很漂亮。在谈到自己的离职感受时,他说:“一个好的新闻发言人是稀有动物,请你们继续像保护熊猫一样保护他们。”</p> <p>  他说:“新闻发言人要重视选拔和培养,一个优秀的新闻发言人首先需要先天的资质,在中国做一个好的新闻发言人特别不容易,在美国几乎每一个新闻发言人都有媒体工作的经验,而我们没有。”</p> <p>  <strong>把新闻发布会现场移到田间地头和演播室</strong></p> <p>  除新闻发言人外,一直对主持人工作情有独钟的王旭明还在中国教育电视台策划并主持了一档节目《问教》。7月6日下午,《问教》在中国传媒大学的演播厅完成了第6期录制。在这里,他的几个记者朋友跟踪而至,坐在了演播大厅的现场,和他完成心有灵犀的互动。</p> <p>  “我只是转换了一下新闻发布会的现场,电视媒体对于中国老百姓来说还是第一位的。我希望通过一档轻松好看的谈话节目把国家的教育政策更好地传达出去,让学生、家长和公民代表以及教育政策的制定者能坐在一起进行现场对话、交流甚至辩论。”王旭明说,“这对于我是全新的挑战,形态上的转变意味着太多的变化,但这是时代急切的需要。”</p> <p>  而能够主持这档节目的人选,除王旭明外似乎找不到别人。演播室现场的王旭明让很多人见识了他的另外一面:机智、幽默和冷静。在那个场合,他没有被当场提问和质询,但嘉宾和观众之间尖锐的观点碰撞和交锋却每每让他感到兴奋。</p> <p>  2007年,同样是为了寻求新闻发布会形式的创新,王旭明在有关领导提议下把新闻发布会现场搬到了田间地头。当时,国家出台了有关资助特困生的一系列政策,但很多反馈的声音却表明这项政策并没有深入下去,于是教育部联合财政部有关负责人在河南、宁夏、甘肃等地,深入群众向广大农村地区的老师和家长讲解并赠送相关的政策材料。</p> <p>  “这种新闻发布会的移位,效果特别好!”王旭明坦言,为了能吸引媒体的眼球,他这5年来可谓挖空心思,除了最普通的新闻发布会外,还增加了十几种活动形式来调动媒体的积极性,主动和媒体进行沟通,如组织新闻采访团到一线采访、举行记者吹风会、做访谈节目、请网站直播新闻发布会等。</p> <p>&nbsp;&nbsp;&nbsp; <a class=akey href=""http://news.sina.com.cn/c/2008-07-18/054315953677.shtml"" target=_blank>国新办原主任赵启正:欣赏王旭明面对媒体的直率</a></p> <p>&nbsp;&nbsp;&nbsp; <a class=akey href=""http://news.sina.com.cn/c/2008-07-18/054315953678.shtml"" target=_blank>专家称王旭明离任暴露新闻发言人制度瓶颈</a></p> <p>&nbsp;&nbsp;&nbsp; <a class=akey href=""http://news.sina.com.cn/c/2008-07-18/054215953670.shtml"" target=_blank>记者称王旭明是一个率真的人</a></p>"; strHTML = strHTML.Replace("\r\n",""); strHTML = strHTML.Replace("&nbsp;", " "); string sText = System.Text.RegularExpressions.Regex.Replace(strHTML, "<[^>]*?>", ""); System.Text.StringBuilder sb = new System.Text.StringBuilder(strHTML); int PageSize = 100; int PageNo = 0; int PageCount = sText.Length / PageSize + 1; for (PageNo = 1; PageNo <= PageCount; PageNo++) { int FromNo = (PageNo - 1) * PageSize+1; int ToNo = PageNo * PageSize; if (ToNo < strHTML.Length - 2) { string HtmlNew = this.GetPagerHtml(FromNo,ToNo,sb); // HtmlNew = HtmlNew.Replace(" ", "&nbsp;"); Response.Write(HtmlNew + "<BR><HR><FONT COLOR='red'>第" + PageNo.ToString() + "页</font><BR>"); } } } string GetPagerHtml(int FromNo, int ToNo, System.Text.StringBuilder sb) { int Pos1 = this.GetHtmlPos(FromNo-1, sb); int Pos2 = this.GetHtmlPos(ToNo-1, sb); if (Pos2 > Pos1 && Pos2 < sb.Length) { return sb.ToString().Substring(Pos1, Pos2 - Pos1 + 1); } else return "ERROR"; } int GetHtmlPos(int TextPoistion,System.Text.StringBuilder sb) { int iTextCount = 0; int iPos = 0; bool bInTag = false; while (iTextCount < TextPoistion) { if (iPos >= sb.Length - 1) return sb.Length - 1; char c = sb[iPos]; iPos++; if (c == '<') { bInTag = true; continue; } else if (c == '>') { bInTag = false; continue; } if (bInTag) { continue; } iTextCount++; if (iTextCount == TextPoistion) { return iPos; } } return iPos; }
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-18 23:39:0713楼 得分:0
    傻小子们

    内容分页,手工就好.

    在内容要分页处加一特殊符号$page$.后台按这个$page$分页就好,比较随心所欲
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-18 23:43:5914楼 得分:0
    傻小子们

    内容分页,手工就好.

    在内容要分页处加一特殊符号$page$.后台按这个$page$分页就好,比较随心所欲

    ----------------------------

    楼上大大。
    这个的处理代码有么?我不太懂怎么做
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-18 23:48:5115楼 得分:0



    引用 14 楼 AzureSharp 的回复:
    傻小子们

    内容分页,手工就好.

    在内容要分页处加一特殊符号$page$.后台按这个$page$分页就好,比较随心所欲

    ----------------------------

    楼上大大。
    这个的处理代码有么?我不太懂怎么做


    他这个是手工的还要什么代码??就一句.Repalce(

    如果用手工去做,还在这里讨论做什么.吃饱了撑的.

    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • ysn1314
    • 等级:
    发表于:2008-07-19 08:07:0016楼 得分:0
    很犟~
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-19 10:09:0517楼 得分:0
    牛~~~
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • yagebu1983
    • 等级:
    发表于:2008-07-19 11:08:5418楼 得分:0
    关注!!!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-19 11:16:0019楼 得分:0
    这种分页没做过
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-19 11:30:4720楼 得分:0
    最好用手工分页的形式

    自动分页很难免不出现乱码

    如果一定要自动分页的话,就在指定被字数附近,查找 <br/>或 <p>一类的换行
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-19 11:31:5721楼 得分:0
    up
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-19 11:50:3222楼 得分:0
     

              strHTML = strHTML.Replace("\r\n","");
                strHTML = strHTML.Replace("&nbsp;", " ");
                string sText = System.Text.RegularExpressions.Regex.Replace(strHTML, " <[^>]*?>", "");
                System.Text.StringBuilder sb = new System.Text.StringBuilder(strHTML);
                int PageSize = 10;
                int PageNo = 0;
                int PageCount = sText.Length / PageSize + 1;

                for (PageNo = 1; PageNo <= PageCount; PageNo++)
                {
                    int FromNo = (PageNo - 1) * PageSize+1;


                    int ToNo = PageNo * PageSize;

                    if (ToNo < strHTML.Length - 2)
                    {
                        string HtmlNew =  this.GetPagerHtml(FromNo,ToNo,sb);
                      // HtmlNew = HtmlNew.Replace(" ", "&nbsp;");
                        Response.Write(HtmlNew + " <HR> <FONT COLOR='red'>第" + PageNo.ToString() + "页 </font> <BR>");
                    }

                }


            }

            string GetPagerHtml(int FromNo, int ToNo, System.Text.StringBuilder sb)
            {
                int Pos1 = this.GetHtmlPos(FromNo-1, sb);
                int Pos2 = this.GetHtmlPos(ToNo-1, sb);
                if (Pos2 > Pos1 && Pos2 < sb.Length)
                {
                    return sb.ToString().Substring(Pos1, Pos2 - Pos1 + 1);

                }
                else return "ERROR";
            }

            int GetHtmlPos(int TextPoistion,System.Text.StringBuilder sb)
            {
                int iTextCount = 0;

                int iPos = 0;
                bool bInTag = false;
                while (iTextCount < TextPoistion)
                {
                    if (iPos >= sb.Length - 1) return sb.Length - 1;
                    char c = sb[iPos];

                    iPos++;

                    if (c == ' <')
                    {
                        bInTag = true;
                        continue;
                    }
                    else if (c == '>')
                    {
                        bInTag = false;
                        continue;
                    }
                    if (bInTag)
                    {
                        continue;
                    }
                    iTextCount++;
                    if (iTextCount == TextPoistion)
                    {
                        return iPos;
                    }

                }
                return iPos;
           
            }
    修改 删除 举报 引用 回复