读书人

长文章内容 分页? asp.net,该怎么处理

发布时间: 2012-02-08 19:52:21 作者: rapoo

长文章内容 分页? asp.net
用户提交的一篇文章,用FCKeditor保存在数据库里面,现在需求是,显示时如果内容过长,则分页,怎么实现?
文章内容含有HTML代码,也可能会有图片在里面
根据什么来翻?字数?行数?高度?(求[详细]思路)
比如根据什么来翻,多余的字符怎么保存处理,上一页下一页怎么链接,用什么接收怎么显示...
==============================================================================
标注:文章内容长度不一,是用户提交,所以没有手动添加分页符在里面。

[解决办法]

顶一下, 放进网摘
[解决办法]
这个你要在添加文章的时候 人工手动添加一个分页符号
或者是 在FCKeditor 加一个分页按钮

这个分页符号我用的是“<%>”

如果用Split取出成数组
分页显示
[解决办法]
想要代码的话 联系我
[解决办法]
关注
[解决办法]

C# code
public class t3 : System.Web.UI.Page{ private string str;//字符private int strl;//字符总长度private int pagesize;//每页显示的字符数private void Page_Load(object sender, System.EventArgs e){// 在此处放置用户代码以初始化页面 str="1234567891234567898522555";pagesize=3;strl=str.Length;Response.Write(strl);substr();}private void substr(){int ct=Int32.Parse(Request.QueryString["page"]);if(strl==(strl/pagesize)*pagesize)//看看页面的总记录是否能被每页的记录数整除{for(int i=1;i<=strl/pagesize;i++){Response.Write("页:"+(i)+"");}string s=str.Substring(pagesize*ct-pagesize,pagesize);Response.Write(s);}else if(ct*pagesize>strl)//在不被整除的情况下,最后一页的设置,如字符长13,每页3,则处理最后那一页的显示{for(int i=1;i<=(strl/pagesize)+1;i++){Response.Write("页:"+(i)+"");}string s=str.Substring((ct-1)*pagesize,strl-(ct-1)*pagesize);Response.Write(s);}else //在不被整除的情况下其他页面的显示设置{for(int i=1;i<=strl/pagesize+1;i++){Response.Write("页:"+(i)+"");}string s=str.Substring(pagesize*ct-pagesize,pagesize);Response.Write(s);}}}
[解决办法]
LZ,可以结了
[解决办法]
学习中
[解决办法]
我晕 刚才发了一大堆 怎么丢了
[解决办法]
探讨
说了啊。是用户添加信息,不是后台添加信息,不可能给每个用户的信息都去手动添加分页符号吧。
FCKeditor分页按钮?怎么用说清楚点撒。。

[解决办法]
关注。。。
[解决办法]
6楼的 你这样处理只能处理文字

[解决办法]
http://www.webdiyer.com/AspNetPager/demo/basic/default.aspx
[解决办法]
学习
[解决办法]
帮助顶一下,最近也在研究相关问题,关注并学习,o(∩_∩)o...
[解决办法]
找最外层标签,然后判断这段标签的内容是否大于默认一页的大小,如果是,就新建一页,不是就继续找下一个标签。

分页连接很简单 info_1_p1.html info_1_p2.html info_1_p3.html
若不是生成静态的,那就慢了。

[解决办法]
爱咋咋地,那种方法,不考虑到如果有<html>代码标签的时候,会出错的.

最好的处理方法,是让客户自定义分页的标签如 $Page$
[解决办法]
wo xian qu shi shi kan ``
[解决办法]
在要显示文章的页面加两个label,Article和Separate
C# code

newsID = Request.QueryString["NewID"]; //文章IDint page = 1;if (Request.QueryString["page"] != null){   page = int.Parse(Request.QueryString["page"].ToString());}string content = myNewRow["Article"].ToString();     ArrayList arrList = new ArrayList();          string pageString = "News.aspx?NewsID="+newsID+"&page="+page;    //分页跳转     if (content.IndexOf("<p>[nextpage]</p>") > 1)  //分页符<p>[nextpage]</p>        {           String[] tempList = content.Split(new String[] { "<p>[nextpage]</p>" }, StringSplitOptions.RemoveEmptyEntries);           for (int i = 0; i < tempList.Length; i++)              {                arrList.Add(tempList[i]);              }             }           else           {             arrList.Add(content);           }           if (page < 1 || page > arrList.Count)           {              page = 1;           }           if (arrList.Count == 1)           {               newArticle.Text = (string)arrList[0];               Separate.Text = "";           }           else           {              if (page <= arrList.Count)              {                  newArticle.Text = (string)arrList[page - 1];              }              else              {                 newArticle.Text = (string)arrList[0];              }              Separate.Text = pageList.PageInfo(arrList.Count, 1, page, pageString);           } 

读书人网 >asp.net

热点推荐