ASP.NET分页代码的实现(C#,FCKeditor)

开发 后端
本文提供了一个asp.net分页代码。首先提供个类库,然后在aspx中增加label等元素,并添加调用代码。

这几天闲来无事,所以写了个大文章分页代码,下面提供给大家。
实现思路是:后台管理员文章发布的时候自己手动添加分页符,后台我用的也是 FCKeditor,所以修改了他的source增加了自己的button。在button的事件里写上自己的代码,当然就是直接insert innerhtml自己的分页标志了,我目前用的是|,|,|,|,|,|当然可以自定义其他的。首先提供个类库。

asp.net分页代码1 ContentPager .cs

  1. using System;  
  2. using System.Data;  
  3. using System.Configuration;  
  4. using System.Collections;  
  5. using System.ComponentModel;  
  6. using System.Web;  
  7. using System.Web.Security;  
  8. using System.Web.UI;  
  9. using System.Web.UI.WebControls;  
  10. using System.Web.UI.WebControls.WebParts;  
  11. using System.Web.UI.HtmlControls;  
  12. using System.Web.SessionState;  
  13.  
  14. /// <summary> 
  15. /// ContentPager 的摘要说明  
  16. /// summary> 
  17. public class ContentPager : System.Web.UI.Page  
  18. {  
  19.  
  20.     private System.Web.UI.WebControls.HyperLink lnknext;  
  21.     private System.Web.UI.WebControls.HyperLink lnkprev;  
  22.     private System.Web.UI.WebControls.HyperLink lnkfist;  
  23.     private System.Web.UI.WebControls.HyperLink lnklast;  
  24.     private System.Web.UI.WebControls.Label pagenum;  
  25.     private System.Web.UI.WebControls.Label pagecount;  
  26.     private System.Web.UI.WebControls.Label displaycontent;  
  27.  
  28.     public ContentPager()  
  29.     {  
  30.         //  
  31.         // TODO: 在此处添加构造函数逻辑  
  32.         //  
  33.     }  
  34.  
  35.     public void datapager(string content,string query)  
  36.     {  
  37.         string PagerSplit = System.Configuration.ConfigurationManager.AppSettings["PagerSplit"];//从 web.config中获取分页符,当然这里可以自己定义,为了方便还是放到配置文件或者数据库中。  
  38.         string[] contentArray = StringSplit(content, PagerSplit);//这里是一个方法,摘自网上  
  39.  
  40.         int PageCount = contentArray.Length;  
  41.         this.pagecount.Text = "共" + PageCount.ToString() + "font>b>页";  
  42.         int CurPage;  
  43.  
  44.         //确定当前页数  
  45.         if (System.Web.HttpContext.Current.Request.Params["Page"] != null)  
  46.         {  
  47.             CurPage = Convert.ToInt32(System.Web.HttpContext.Current.Request.Params["Page"]);  
  48.         }  
  49.         else  
  50.         {  
  51.             CurPage = 1;  
  52.         }  
  53.  
  54.         if (CurPage < 1CurPage = 1;  
  55.         if (Convert.ToInt32(System.Web.HttpContext.Current.Request.Params["Page"]) > PageCount)  
  56.         {  
  57.             CurPage = PageCount;  
  58.         }  
  59.  
  60.         //显示当前页数  
  61.         this.pagenum.Text = "第" + CurPage.ToString() + "font>b>页";  
  62.         //下一页  
  63.         if (CurPage != PageCount)  
  64.         {  
  65.             lnknext.NavigateUrl = System.Web.HttpContext.Current.Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(CurPage + 1) + query;  
  66.         }  
  67.         //上一页  
  68.         if (CurPage > 1)  
  69.         {  
  70.             lnkprev.NavigateUrl = System.Web.HttpContext.Current.Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(CurPage - 1) + query;  
  71.         }  
  72.  
  73.         //***页  
  74.         if (CurPage != 1)  
  75.         {  
  76.             lnkfist.NavigateUrl = System.Web.HttpContext.Current.Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(1) + query;  
  77.         }  
  78.  
  79.         //***一页  
  80.         if (CurPage != PageCount)  
  81.         {  
  82.             lnklast.NavigateUrl = System.Web.HttpContext.Current.Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(PageCount) + query;  
  83.         }  
  84.  
  85.         displaycontent.Text = contentArray[CurPage - 1].ToString();  
  86.     }  
  87.  
  88.    
  89.  
  90.     #region  System.Web.UI.WebControls.HyperLink DisplayContent  
  91.     public System.Web.UI.WebControls.Label DisplayContent  
  92.     {  
  93.         get  
  94.         {  
  95.             return this.DisplayContent;  
  96.         }  
  97.         set  
  98.         {  
  99.             this.displaycontent = value;  
  100.         }  
  101.     }  
  102.     #endregion  
  103.  
  104.     #region  System.Web.UI.WebControls.HyperLink Lnkprev  
  105.     public System.Web.UI.WebControls.HyperLink Lnkprev  
  106.     {  
  107.         get  
  108.         {  
  109.             return this.lnkprev;  
  110.         }  
  111.         set  
  112.         {  
  113.             this.lnkprev = value;  
  114.         }  
  115.     }  
  116.     #endregion  
  117.  
  118.     #region System.Web.UI.WebControls.HyperLink Lnknext  
  119.     public System.Web.UI.WebControls.HyperLink Lnknext  
  120.     {  
  121.         get  
  122.         {  
  123.             return this.lnknext;  
  124.         }  
  125.         set  
  126.         {  
  127.             this.lnknext = value;  
  128.         }  
  129.     }  
  130.     #endregion  
  131.  
  132.     #region  System.Web.UI.WebControls.HyperLink Lnkfist  
  133.     public System.Web.UI.WebControls.HyperLink Lnkfist  
  134.     {  
  135.         get  
  136.         {  
  137.             return this.lnkfist;  
  138.         }  
  139.         set  
  140.         {  
  141.             this.lnkfist = value;  
  142.         }  
  143.     }  
  144.     #endregion  
  145.  
  146.     #region  System.Web.UI.WebControls.HyperLink Lnklast  
  147.     public System.Web.UI.WebControls.HyperLink Lnklast  
  148.     {  
  149.         get  
  150.         {  
  151.             return this.lnklast;  
  152.         }  
  153.         set  
  154.         {  
  155.             this.lnklast = value;  
  156.         }  
  157.     }  
  158.     #endregion  
  159.  
  160.     #region  System.Web.UI.WebControls.Label Pagenum  
  161.     public System.Web.UI.WebControls.Label Pagenum  
  162.     {  
  163.         get  
  164.         {  
  165.             return this.pagenum;  
  166.         }  
  167.         set  
  168.         {  
  169.             this.pagenum = value;  
  170.         }  
  171.     }  
  172.     #endregion  
  173.  
  174.     #region System.Web.UI.WebControls.Label Pagecount  
  175.     public System.Web.UI.WebControls.Label Pagecount  
  176.     {  
  177.         get  
  178.         {  
  179.             return this.pagecount;  
  180.         }  
  181.         set  
  182.         {  
  183.             this.pagecount = value;  
  184.         }  
  185.     }  
  186.     #endregion  
  187.  
  188.    #region 将字符串分割成数组  
  189.         /// <summary> 
  190.         /// 将字符串分割成数组  
  191.         /// summary> 
  192.         /// <param name="strSource">param> 
  193.         /// <param name="strSplit">param> 
  194.         /// <returns>returns> 
  195.         public string[] StringSplit(string strSource, string strSplit)  
  196.         {  
  197.             string[] strtmp = new string[1];  
  198.             int index = strSource.IndexOf(strSplit, 0);  
  199.             if (index < 0)  
  200.             {  
  201.                 strtmp[0] = strSource;  
  202.                 return strtmp;  
  203.             }  
  204.             else  
  205.             {  
  206.                 strtmp[0] = strSource.Substring(0, index);  
  207.                 return StringSplit(strSource.Substring(index + strSplit.Length), strSplit, strtmp);  
  208.             }  
  209.         }  
  210.         #endregion  
  211.  
  212.         #region 采用递归将字符串分割成数组  
  213.         /// <summary> 
  214.         /// 采用递归将字符串分割成数组  
  215.         /// summary> 
  216.         /// <param name="strSource">param> 
  217.         /// <param name="strSplit">param> 
  218.         /// <param name="attachArray">param> 
  219.         /// <returns>returns> 
  220.         private string[] StringSplit(string strSource, string strSplit, string[] attachArray)  
  221.         {  
  222.             string[] strtmp = new string[attachArray.Length + 1];  
  223.             attachArray.CopyTo(strtmp, 0);  
  224.  
  225.             int index = strSource.IndexOf(strSplit, 0);  
  226.             if (index < 0)  
  227.             {  
  228.                 strtmp[attachArray.Length] = strSource;  
  229.                 return strtmp;  
  230.             }  
  231.             else  
  232.             {  
  233.                 strtmp[attachArray.Length] = strSource.Substring(0, index);  
  234.                 return StringSplit(strSource.Substring(index + strSplit.Length), strSplit, strtmp);  
  235.             }  
  236.         }  
  237.         #endregion  
  238. }  


asp.net分页代码2 调用部分:

在aspx中增加label等元素。

  1. < asp:label id="currentpage" runat="server" CssClass="gray">当前页< /asp:label>    
  2.                                        < asp:label id="totalpage" runat="server" CssClass="gray">Label< /asp:label>    
  3.             < asp:hyperlink id="lnkfist" runat="server" CssClass="gray">首页< /asp:hyperlink>|  
  4.             < asp:hyperlink id="lnkprev" runat="server" CssClass="gray">前页< /asp:hyperlink>|  
  5.             < asp:hyperlink id="lnknext" runat="server" CssClass="gray">下页< /asp:hyperlink>|  
  6.             < asp:hyperlink id="lnklast" runat="server" CssClass="gray">尾页< /asp:hyperlink> 


 在aspx.cs中增加调用代码。

  1. private ContentPager pager;  
  2.  
  3.  protected void Page_Load(object sender, EventArgs e)  
  4.     {  
  5.         int id = Convert.ToInt32(Request.QueryString["id"]);//接收参数,例如访问这个页是xxx.aspx?id=1 
  6.  
  7.         DataSet ds = new DataSet();  
  8.  
  9.         //从数据库读内容部分就略掉了  
  10.  
  11.         DataRow drow;  
  12.         drow = ds.Tables[0].Rows[0];  
  13.         string cont = drow["content"].ToString();//此部分可以把内容中的HTML代码转换一下,我也省略了  
  14.         
  15.        //文章分页,关键部分   
  16.         pager = new ContentPager();  
  17.  
  18.         pager.Lnknext = this.lnknext;  
  19.         pager.Lnkprev = this.lnkprev;  
  20.         pager.Lnklast = this.lnklast;  
  21.         pager.Lnkfist = this.lnkfist;  
  22.         pager.Pagenum = this.currentpage;  
  23.         pager.Pagecount = this.totalpage;  
  24.         pager.DisplayContent = this.content;  
  25.  
  26.         string query = "&id=" + Request.QueryString["id"].ToString();  
  27.         pager.datapager(cont, query);  
  28. }  
责任编辑:周立方 来源: CSDN博客
相关推荐

2009-08-12 17:19:51

ASP.NET图片加水

2009-07-28 14:47:18

ASP.NET MVC

2009-11-06 09:23:41

ASP.NET高效分页

2009-09-10 09:50:47

ASP.NET MVC

2009-07-22 16:02:39

ASP.NET MVCPagedList

2012-04-23 15:10:18

ASP.NET

2009-07-15 18:25:52

ASP.NET控件数组

2009-08-20 10:13:49

ASP.NET和C#的

2009-08-03 14:33:02

.NET平台c#ASP.NET

2009-08-04 14:23:36

ASP.NET查询分页

2009-08-12 18:19:46

ASP.NET报表打印

2009-07-28 17:03:55

ASP.NET VB.

2009-08-10 17:17:10

ASP.NET安装部署

2012-04-13 10:05:24

ASP.NET

2009-08-04 14:36:00

ASP.NET分页管理

2009-08-14 13:37:25

ASP.NET静态页面

2015-06-23 16:47:53

ASP.NET

2010-03-19 09:17:16

ASP.NET MVC

2009-08-05 16:59:55

ASP.NET组件设计

2009-08-13 17:52:27

C#数据采集
点赞
收藏

51CTO技术栈公众号