长文章内容 分页? asp.net

闲游四疯 2008-06-25 09:14:30
用户提交的一篇文章,用FCKeditor保存在数据库里面,现在需求是,显示时如果内容过长,则分页,怎么实现?
文章内容含有HTML代码,也可能会有图片在里面
根据什么来翻?字数?行数?高度?(求[详细]思路)
比如根据什么来翻,多余的字符怎么保存处理,上一页下一页怎么链接,用什么接收怎么显示...
==============================================================================
标注:文章内容长度不一,是用户提交,所以没有手动添加分页符在里面。
...全文
925 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
一剑全秒 2010-08-14
  • 打赏
  • 举报
回复
看一下先~!
suan_lai 2009-04-17
  • 打赏
  • 举报
回复
haha,要用标记的
maddemon 2008-06-25
  • 打赏
  • 举报
回复
找最外层标签,然后判断这段标签的内容是否大于默认一页的大小,如果是,就新建一页,不是就继续找下一个标签。

分页连接很简单 info_1_p1.html info_1_p2.html info_1_p3.html
若不是生成静态的,那就慢了。
大自然D使者 2008-06-25
  • 打赏
  • 举报
回复
帮助顶一下,最近也在研究相关问题,关注并学习,o(∩_∩)o...
sssjjjpppsjp 2008-06-25
  • 打赏
  • 举报
回复
学习
wfcfan 2008-06-25
  • 打赏
  • 举报
回复
http://www.webdiyer.com/AspNetPager/demo/basic/default.aspx
selad 2008-06-25
  • 打赏
  • 举报
回复
6楼的 你这样处理只能处理文字
Jeremiah 2008-06-25
  • 打赏
  • 举报
回复
关注。。。
selad 2008-06-25
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 ysn1314 的回复:]
说了啊。是用户添加信息,不是后台添加信息,不可能给每个用户的信息都去手动添加分页符号吧。
FCKeditor分页按钮?怎么用说清楚点撒。。
[/Quote]


就算是用户 也要加分页符号的

你要给出文字提示 如果要分页 就要点击分页按钮 添加分页符号
你可以在FCKeditor中加一个分页按钮
用js实现在内容中加分页符号
selad 2008-06-25
  • 打赏
  • 举报
回复
我晕 刚才发了一大堆 怎么丢了
loleney 2008-06-25
  • 打赏
  • 举报
回复
学习中
s208ping 2008-06-25
  • 打赏
  • 举报
回复
LZ,可以结了
s208ping 2008-06-25
  • 打赏
  • 举报
回复
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);
}


}
}
dengkz1 2008-06-25
  • 打赏
  • 举报
回复
关注
闲游四疯 2008-06-25
  • 打赏
  • 举报
回复
说了啊。是用户添加信息,不是后台添加信息,不可能给每个用户的信息都去手动添加分页符号吧。
FCKeditor分页按钮?怎么用说清楚点撒。。
selad 2008-06-25
  • 打赏
  • 举报
回复
想要代码的话 联系我
selad 2008-06-25
  • 打赏
  • 举报
回复
这个你要在添加文章的时候 人工手动添加一个分页符号
或者是 在FCKeditor 加一个分页按钮

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

如果用Split取出成数组
分页显示
live_7sky 2008-06-25
  • 打赏
  • 举报
回复

顶一下, 放进网摘
pcb_ghl 2008-06-25
  • 打赏
  • 举报
回复
在要显示文章的页面加两个label,Article和Separate

newsID = Request.QueryString["NewID"]; //文章ID
int 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);
}


pageList代码段

public class PageList
{
#region 文章分页
/// <summary>
/// 文章分页
/// </summary>
/// <param name="count">新闻总页数</param>
/// <param name="pageList">每页显示几条新闻</param>
/// <param name="nowPage">当前是第几页</param>
/// <param name="pageStr">跳转页面</param>
/// <returns></returns>
public string PageInfo(int count, int pageList, int nowPage, string pageStr)
{
int pageCount = 1;
//string temp = "<font color='red'>共有" + count + "条新闻  </font>";
string temp = "";
if (count > 0)
{
string firstPage = "";//首页
string lastPage = "";//上一页
string nextPage = "";//下一页
string endPage = "";//未页
pageCount = count / pageList;
string selectStr = "跳转:<select name='PageSelect' onchange='window.location.href=value' id='newPageSelect'>";//下拉单
if ((count % pageList) > 0)
{
pageCount++;
}
for (int i = 1; i <= pageCount; i++)
{
if (i == nowPage)
{
selectStr += "<option selected='selected' value='" + pageStr + "page=" + i + "'>" + i + "</option>";
}
else
{
selectStr += "<option value='" + pageStr + "page=" + i + "'>" + i + "</option>";
}
}
selectStr += "</select>";
if (pageCount == 1)
{
firstPage = "<font color='#cccccc'>首页</font>";
lastPage = "<font color='#cccccc'>上页</font>";
nextPage = "<font color='#cccccc'>下页</font>";
endPage = "<font color='#cccccc'>尾页</font>";
}
else
{
if (nowPage == 1)
{
firstPage = "<font color='#cccccc'>首页</font>";
lastPage = "<font color='#cccccc'>上页</font>";
nextPage = "<a class='rlk' href='" + pageStr + "page=" + (nowPage + 1) + "'>下页</a>";
endPage = "<a class='rlk' href='" + pageStr + "page=" + pageCount + "'>尾页</a>";
}
else if (nowPage == pageCount)
{
firstPage = "<a class='rlk' href='" + pageStr + "page=1'>首页</a>";
lastPage = "<a class='rlk' href='" + pageStr + "page=" + (pageCount - 1) + "'>上页</a>";
nextPage = "<font color='#cccccc'>下页</font>";
endPage = "<font color='#cccccc'>尾页</font>";
}
else
{
nextPage = "<a class='rlk' href='" + pageStr + "page=" + (nowPage + 1) + "'>下页</a>";
lastPage = "<a class='rlk' href='" + pageStr + "page=" + (nowPage - 1) + "'>上页</a>";
firstPage = "<a class='rlk' href='" + pageStr + "page=1'>首页</a>";
endPage = "<a class='rlk' href='" + pageStr + "page=" + pageCount + "'>尾页</a>";
}
}
temp += "  " + firstPage + "  " + lastPage + "  " + nextPage + "  " + endPage + "  " + selectStr;
}
else
{
temp = "";
}
return temp;
}
#endregion
}


你试着根据你的要求改一改吧
love531000 2008-06-25
  • 打赏
  • 举报
回复
wo xian qu shi shi kan ``
加载更多回复(2)

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧