新闻分页实现
的有关信息介绍如下:长文章分页配置文件 using System;using System.Data;using System.Configuration;using System.Collections;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;public partial class _Default : System.Web.UI.Page{ protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { string m_strContent = OutputArticle(); this.lbContent.Text = OutputBySize(m_strContent); } } public string OutputBySize(string p_strContent) { int m_intPageSize = 100;//文章每页大小 int m_intCurrentPage = 1;//设置第一页为初始页 int m_intTotalPage = 0; int m_intArticlelength = p_strContent.Length;//文章长度 string m_strRet = p_strContent; 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 设置获取当前页的大小 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); string m_strPageInfo = ""; for (int i = 1; i <= m_intTotalPage; i++) { if (i == m_intCurrentPage) m_strPageInfo += "" + i + "|"; else m_strPageInfo += "" + i + "|"; } //输出显示各个页码 this.TitlePage.Text = m_strPageInfo; } this.totalpage.Text = m_intCurrentPage.ToString(); return m_strRet; } private string OutputArticle() { string m_strRet = "现今专业网站异军突起,而门户网站影响力正逐年下降?因为随着网络的发展,单个门户网站很难满足网络用户所有的需求,人们需要的信息常常都只能通过一些专业网站来获取。这也正是Google价值观10个真理的第一条:以用户为中心,其他一切纷至沓来目前上网主要有两大群体:一是娱乐,二是学习。娱乐包括游戏,音乐,电影,聊天等等。在娱乐方面,个人是很难做成功的,想要获得长足的发展,离不开娱乐公司的支持。Chinamp3为网民提供了免费MP3下载的服务,是个很受网民欢迎的网站,但却因为MP3版权的原因而闹得官司不断。其次是学习,而上网学习又尤以计算机相关背景的为主。"; //从数据库中读取要显示的记录,赋值给m_strRet return m_strRet; }}#region///
", start + pagesize); //查找
分页点的位置 } if (stat <= 0)//如果找不到 { } else { stops = stat; //分页点的位置也就作为这一页的终点位置 if (start < articletxt.Length) { if ((articletxt.Length - start) < pagesize) { if (pig == 0) { pagecount = pagecount + 1; } pig = 1; } else { pagecount = pagecount + 1; } } if (start + pagesize >= articletxt.Length) //如果起始位置到查询的范围超出整个内容的长度,那么这一页的终点位置为内容的终点 { stops = articletxt.Length; } if (pp == j + 1) //如果是当前,那么输出当前页的内容 { articletext = articletxt.Substring(start, stops - start); //取内容的起始位置到终点位置这段字符串输出 returnHash["content"] = articletext; } start = stat; //将终点位置作为下一页的起始位置 } }// pagecount = pagecount - 1; } else { returnHash["content"] = n_content; } //分页部分(这里就简单多了) //定义分页代码变量 if (pagecount > 1) //当页数大于1的时候我们显示页数 { if (pp - 1 > 0) //显示上一页,方便浏览 { html = html + "[上一页] "; } else { if (pp == 1) { html = html + "[上一页] "; } else { html = html + "[上一页] "; } } for (int i = 1; i <= pagecount; i++) { if (i == pp) //如果是当前页,加粗显示 { html = html + "[" + i + "] "; } else { html = html + "[" + i + "] "; } } if (pp + 1 > pagecount) //显示下一页,方便浏览 { if (pp == pagecount) { html = html + "[下一页] "; } else { html = html + "[下一页]"; } } else { html = html + "[下一页]"; } } returnHash["pagetxt"] = html; return returnHash; }}#endregion