C#一个长文章有分隔符的分页类

1 篇文章 0 订阅
1 篇文章 0 订阅
protected static string PagerSpllit = "/>";//分页字符


///<summary> 
///长内容分页
///</summary> 
///<param name="n_content">新闻内容</param> 
///<param name="page">是新闻当前页数</param> 
///<param name="size">每页显示字符长度</param> 
///<param name="linkurl">页码链接地址</param> 
///<returns></returns> 8
private string Separatepages(string n_content,string page, int size, string linkurl) {
   Hashtable returnHash = new Hashtable();
   int start, stops, t, stat, pp, pagecount, pagesize;
   string pa, articletxt, articletext, html;
   int pig = 0;
   stat = 0;
   start = 0;//开始查询的字符串位置,初始为0
   stops = 0;
   pagesize = size;//定义每页至少显示字符串数
   pagecount = 0;
   html = "";
   pa = page;//当前显示的页数
   if (pa == "" || pa == null) {
       pa = "1";
   }
   pp = Convert.ToInt32(pa);
   articletxt = n_content;
   if (articletxt.Length >= pagesize) {


       t = articletxt.Length / pagesize;
       for (int j = 0; j <= t; j++) {
           if (start + pagesize < articletxt.Length) {
               string[] pSplitStr = PagerSpllit.Split(',');
               foreach (string s in pSplitStr) {
                   stat = articletxt.ToLower().IndexOf(s, start + pagesize) + s.Length;
                   if (stat != -1) {
                       break;
                   }
               }
           }
           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;
           }
       }
   }
   else {
       returnHash["content"] = n_content;
   }
   if (pagecount > 1) {
       if (pp - 1 > 0) {
           html = html + "<a href=\"" + linkurl + "&page=" + (pp - 1) + "\">[上一页]</a>";
       }
       else {
           if (pp == 1) {
               html = html + "[<font color='#cccccc'>上一页</font>]";
           }
           else { html = html + "a href=\"" + linkurl + "page=\"" + (1) + "\">[上一页]</a>"; }
       }
       for (int i = 1; i <= pagecount; i++) {
           if (i == pp) {
               html = html + "<b>[" + i + "]</b>";
           }
           else {
               html = html + "<a href=\"" + linkurl + "&page=" + i + "\">[" + i + "]</a> ";
           }
       }
       if (pp + 1 > pagecount) {
           if (pp == pagecount) {
               html = html + "[<font color='#cccccc'>下一页</font>] ";
           }
           else {
               html = html + "<a href=\"" + linkurl + "&page=" + (pagecount) + "\">[下一页]</a></p>";
           }
       }
       else {
           html = html + "<a href=\"" + linkurl + "&page=" + (pp + 1) + "\">[下一页]</a></p>";
       }
   }
   this.labPageNumber.Text = html;
   //returnHash["pagetxt"] = html;
   return returnHash["content"].ToString();
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值