asp.net大文章分页

做文章内容系统,经常需要文章分页,写了一个类,以后方便调用,新建一个类ContentPager.cs,直接复制代码既可,

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.ComponentModel;
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;
using System.Web.SessionState; 

namespace Models
{
   public class ContentPager: System.Web.UI.Page 
    {
       private System.Web.UI.WebControls.HyperLink lnknext;  
       private System.Web.UI.WebControls.HyperLink lnkprev;    
       private System.Web.UI.WebControls.HyperLink lnkfist;    
       private System.Web.UI.WebControls.HyperLink lnklast;     
       private System.Web.UI.WebControls.Label pagenum;    
       private System.Web.UI.WebControls.Label pagecount;
       private System.Web.UI.WebControls.Literal displaycontent;
              public ContentPager()    
              {       
                  //       
                  // TODO: 在此处添加构造函数逻辑        
                  //    
               } 
          public void datapager(string content,string query) 
          {
              string PagerSplit ="[RG_PAGE]";// System.Configuration.ConfigurationManager.AppSettings["PagerSplit"];//从 web.config中获取分页符,当然这里可以自己定义,为了方便还是放到配置文件或者数据库中。
              string[] contentArray = StringSplit(content, PagerSplit);//这里是一个方法,摘自网上    
              int PageCount = contentArray.Length;
            
              this.pagecount.Text =  PageCount.ToString();       
              int CurPage;           //确定当前页数      
              if (System.Web.HttpContext.Current.Request.Params["Page"] != null)       
              {          
                  CurPage = Convert.ToInt32(System.Web.HttpContext.Current.Request.Params["Page"]);       
              }       
              else         
              {         
                  CurPage = 1;         
              }         
              if (CurPage < 1)
                  CurPage = 1;      
              if (Convert.ToInt32(System.Web.HttpContext.Current.Request.Params["Page"]) > PageCount)   
              {         
                  CurPage = PageCount;       
              }        
              //显示当前页数   
              this.pagenum.Text = CurPage.ToString();        
              //下一页 
              if (CurPage != PageCount)       
              {           
                  lnknext.NavigateUrl = System.Web.HttpContext.Current.Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(CurPage + 1) + query;    
              }       
              //上一页    
              if (CurPage > 1)     
              {           
                  lnkprev.NavigateUrl = System.Web.HttpContext.Current.Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(CurPage - 1) + query;         
              }    
              //第一页       
              if (CurPage != 1)     
              {          
                  lnkfist.NavigateUrl = System.Web.HttpContext.Current.Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(1) + query;        
              }      
              //最后一页     
              if (CurPage != PageCount)       
              {            
                  lnklast.NavigateUrl = System.Web.HttpContext.Current.Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(PageCount) + query;     
              }      
              displaycontent.Text = contentArray[CurPage - 1].ToString();   
          }        
       #region System.Web.UI.WebControls.HyperLink DisplayContent  
          public System.Web.UI.WebControls.Literal DisplayContent   
           {    
               get      
               {          
                   return this.DisplayContent;  
               }       
               set     
               {           
                   this.displaycontent = value; 
               }     
           }   
       #endregion   
       #region  System.Web.UI.WebControls.HyperLink Lnkprev
       public System.Web.UI.WebControls.HyperLink Lnkprev   
       {        
           get      
           {            
           return this.lnkprev; 
           }         
           set      
           {            
               this.lnkprev = value; 
           }    
       }   
       #endregion  
       #region  System.Web.UI.WebControls.HyperLink Lnknext
       public System.Web.UI.WebControls.HyperLink Lnknext 
       {       
           get 
           {   
               return this.lnknext;
           }       
           set
           {        
               this.lnknext = value;
           }  
       }   
       #endregion 
       #region    System.Web.UI.WebControls.HyperLink Lnkfist
       public System.Web.UI.WebControls.HyperLink Lnkfist  
       {      
           get  
          {           
               return this.lnkfist;
           }      
           set 
           {   
               this.lnkfist = value;  
           }   
       }   
       #endregion
       #region  System.Web.UI.WebControls.HyperLink Lnklast;
       public System.Web.UI.WebControls.HyperLink Lnklast 
       {         
           get      
           {          
               return this.lnklast;    
           }   
           set     
           {      
               this.lnklast = value;  
           }   
       }     
       #endregion
       #region System.Web.UI.WebControls.Label Pagenum
       public System.Web.UI.WebControls.Label Pagenum
       {         
           get    
           {       
               return this.pagenum;  
           }      
           set      
           {      
               this.pagenum = value;  
           }     
       }  
       #endregion 
       #region  System.Web.UI.WebControls.Label Pagecount
       public System.Web.UI.WebControls.Label Pagecount
       {         
           get      
           {       
               return this.pagecount; 
           }      
           set     
           {        
               this.pagecount = value; 
           }   
       }     
       #endregion  
       #region 将字符串分割成数组    
        /// <summary>         /// 将字符串分割成数组         
         /// <param name="strSource">param>       
         /// <param name="strSplit">param>      
         /// <returns>returns>      
          public string[] StringSplit(string strSource, string strSplit)
          {         
              string[] strtmp = new string[1];   
              int index = strSource.IndexOf(strSplit, 0);
              if (index < 0)      
              {              
                  strtmp[0] = strSource;   
                  return strtmp;     
              }           
              else     
              {          
                  strtmp[0] = strSource.Substring(0, index);
                  return StringSplit(strSource.Substring(index + strSplit.Length), strSplit, strtmp);
              }    
          }      
       #endregion       
       #region 采用递归将字符串分割成数组       
       /// <summary>         /// 采用递归将字符串分割成数组         
       /// summary>       
       /// <param name="strSource">param>       
       /// <param name="strSplit">param>     
       /// <param name="attachArray">param>        
       /// <returns>returns>    
        private string[] StringSplit(string strSource, string strSplit, string[] attachArray)  
        {             
            string[] strtmp = new string[attachArray.Length + 1];
            attachArray.CopyTo(strtmp, 0);    
            int index = strSource.IndexOf(strSplit, 0);     
            if (index < 0)       
            {             
                strtmp[attachArray.Length] = strSource;       
                return strtmp;     
            }          
            else      
            {             
                strtmp[attachArray.Length] = strSource.Substring(0, index);   
                return StringSplit(strSource.Substring(index + strSplit.Length), strSplit, strtmp);   
            }       
        }       
       #endregion 
   } 
}

前台页面:

    <div class="news-content">
                                <asp:Literal ID="displaycontent" runat="server"></asp:Literal>

         
       </div>
      
       <ul class="news-bottom listbt" id="list-bottom"> 
            <strong><a href="#" title="">TOP</a></strong>
            <li>
                                               
             第<asp:Label id="currentpage" runat="server"></asp:Label>页 </li>
             共<li> <asp:label id="totalpage" runat="server"></asp:label>页</li>
             <li> <asp:hyperlink id="lnkfist" runat="server" >首页</asp:hyperlink>| </li>
             <li> <asp:hyperlink id="lnkprev" runat="server" >前页</asp:hyperlink>|</li>
                <li> <asp:hyperlink id="lnknext" runat="server" >下页</asp:hyperlink>| </li>    
                <li> <asp:hyperlink id="lnklast" runat="server" >尾页</asp:hyperlink>
                  </li>
          
       </ul>

 调用方法:

pager.Lnknext = this.lnknext;
            pager.Lnkprev = this.lnkprev;
            pager.Lnklast = this.lnklast;
            pager.Lnkfist = this.lnkfist;
            pager.Pagenum = this.currentpage; pager.Pagecount = this.totalpage;
            pager.DisplayContent = this.displaycontent; 
            string query = "&id=" + id;
            pager.datapager(conntent, query); 

原文地址:https://www.cnblogs.com/stulife/p/1721254.html