博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
长文章手动分页显示代码
阅读量:7079 次
发布时间:2019-06-28

本文共 8561 字,大约阅读时间需要 28 分钟。

  项目过程中遇到一篇文章篇幅很长,下拉查看非常不便,

此方法实现长文章的手动分页,在后台添加内容过程中,我以“|”作为分页的标志,

1、webConfig中的设置。

当然你也可以设置其他字符作为分页标志。

2、页面上的代码。

 

当前页
首页
|
前页
|
下页
|
尾页

3、后台代码。

  首先,在后台定义一个私有类型的公共变量,在Page_Load方法的外面

private ContentPager pager;

Page_Load方法里面的代码

文章标题、发文时间、作者、来源之类的信息要单独绑定,不和内容信息一起,因为它们在翻页后是不变的。下面列出绑定代码:

1 DataSet ds = sadsdd.ExcuteToDataSet("查询语句"); 2                     dlContent.DataSource = ds; 3                     dlContent.DataBind(); 4                     DataRow drow; 5                     drow = ds.Tables["mytable"].Rows[0]; 6                     string cont = drow["news_content"].ToString();//此部分可以把内容中的HTML代码转换一下,我也省略了 7                     //文章分页,关键部分 8                     pager = new ContentPager(); 9                     pager.Lnknext = this.lnknext;10                     pager.Lnkprev = this.lnkprev;11                     pager.Lnklast = this.lnklast;12                     pager.Lnkfist = this.lnkfist;13                     pager.Pagenum = this.currentpage;14                     pager.Pagecount = this.totalpage;15                     pager.DisplayContent = this.content;16                     string query = "&id=" + Request.QueryString["id"].ToString();17                     pager.datapager(cont, query);

其中的dlContent为文章的标题以及发文时间,作者之类的信息。

本分页代码中需要用到的类

1 public class ContentPager:System.Web.UI.Page  2     {  3         private System.Web.UI.WebControls.HyperLink lnknext;  4         private System.Web.UI.WebControls.HyperLink lnkprev;  5         private System.Web.UI.WebControls.HyperLink lnkfist;  6         private System.Web.UI.WebControls.HyperLink lnklast;  7         private System.Web.UI.WebControls.Label pagenum;  8         private System.Web.UI.WebControls.Label pagecount;  9         private System.Web.UI.WebControls.Label displaycontent; 10         public ContentPager() 11         { 12             // 13             // TODO: 在此处添加构造函数逻辑 14             // 15         } 16         public void datapager(string content, string query) 17         { 18             string PagerSplit = System.Configuration.ConfigurationManager.AppSettings["PagerSplit"];//从web.config中获取分页符,当然这里可以自己定义,为了方便还是放到配置文件或者数据库中。 19             string[] contentArray = StringSplit(content, PagerSplit);//这里是一个方法,摘自网上 20             int PageCount = contentArray.Length; 21             this.pagecount.Text = "共" + PageCount.ToString() + "页"; 22             int CurPage; 23             //确定当前页数 24             if (System.Web.HttpContext.Current.Request.Params["Page"] != null) 25             { 26                 CurPage = Convert.ToInt32(System.Web.HttpContext.Current.Request.Params["Page"]); 27             } 28             else 29             { 30                 CurPage = 1; 31             } 32             if (CurPage < 1) CurPage = 1; 33             if (Convert.ToInt32(System.Web.HttpContext.Current.Request.Params["Page"]) > PageCount) 34             { 35                 CurPage = PageCount; 36             } 37             //显示当前页数 38             this.pagenum.Text = "第" + CurPage.ToString() + "页"; 39             //下一页 40             if (CurPage != PageCount) 41             { 42                 lnknext.NavigateUrl = System.Web.HttpContext.Current.Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(CurPage + 1) + query; 43             } 44             //上一页 45             if (CurPage > 1) 46             { 47                 lnkprev.NavigateUrl = System.Web.HttpContext.Current.Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(CurPage - 1) + query; 48             } 49             //第一页 50             if (CurPage != 1) 51             { 52                 lnkfist.NavigateUrl = System.Web.HttpContext.Current.Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(1) + query; 53             } 54             //最后一页 55             if (CurPage != PageCount) 56             { 57                 lnklast.NavigateUrl = System.Web.HttpContext.Current.Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(PageCount) + query; 58             } 59             displaycontent.Text = contentArray[CurPage - 1].ToString(); 60         } 61   62         #region  System.Web.UI.WebControls.HyperLink DisplayContent 63         public System.Web.UI.WebControls.Label DisplayContent 64         { 65             get 66             { 67                 return this.DisplayContent; 68             } 69             set 70             { 71                 this.displaycontent = value; 72             } 73         } 74         #endregion 75         #region  System.Web.UI.WebControls.HyperLink Lnkprev 76         public System.Web.UI.WebControls.HyperLink Lnkprev 77         { 78             get 79             { 80                 return this.lnkprev; 81             } 82             set 83             { 84                 this.lnkprev = value; 85             } 86         } 87         #endregion 88         #region System.Web.UI.WebControls.HyperLink Lnknext 89         public System.Web.UI.WebControls.HyperLink Lnknext 90         { 91             get 92             { 93                 return this.lnknext; 94             } 95             set 96             { 97                 this.lnknext = value; 98             } 99         }100         #endregion101         #region  System.Web.UI.WebControls.HyperLink Lnkfist102         public System.Web.UI.WebControls.HyperLink Lnkfist103         {104             get105             {106                 return this.lnkfist;107             }108             set109             {110                 this.lnkfist = value;111             }112         }113         #endregion114         #region  System.Web.UI.WebControls.HyperLink Lnklast115         public System.Web.UI.WebControls.HyperLink Lnklast116         {117             get118             {119                 return this.lnklast;120             }121             set122             {123                 this.lnklast = value;124             }125         }126         #endregion127         #region  System.Web.UI.WebControls.Label Pagenum128         public System.Web.UI.WebControls.Label Pagenum129         {130             get131             {132                 return this.pagenum;133             }134             set135             {136                 this.pagenum = value;137             }138         }139         #endregion140         #region System.Web.UI.WebControls.Label Pagecount141         public System.Web.UI.WebControls.Label Pagecount142         {143             get144             {145                 return this.pagecount;146             }147             set148             {149                 this.pagecount = value;150             }151         }152         #endregion153         #region 将字符串分割成数组154         /// 155         /// 将字符串分割成数组156         /// 157         /// 158         /// 159         /// 
160 public string[] StringSplit(string strSource, string strSplit)161 {162 string[] strtmp = new string[1];163 int index = strSource.IndexOf(strSplit, 0);164 if (index < 0)165 {166 strtmp[0] = strSource;167 return strtmp;168 }169 else170 {171 strtmp[0] = strSource.Substring(0, index);172 return StringSplit(strSource.Substring(index + strSplit.Length), strSplit, strtmp);173 }174 }175 #endregion176 #region 采用递归将字符串分割成数组177 /// 178 /// 采用递归将字符串分割成数组179 /// 180 /// 181 /// 182 /// 183 ///
184 private string[] StringSplit(string strSource, string strSplit, string[] attachArray)185 {186 string[] strtmp = new string[attachArray.Length + 1];187 attachArray.CopyTo(strtmp, 0);188 int index = strSource.IndexOf(strSplit, 0);189 if (index < 0)190 {191 strtmp[attachArray.Length] = strSource;192 return strtmp;193 }194 else195 {196 strtmp[attachArray.Length] = strSource.Substring(0, index);197 return StringSplit(strSource.Substring(index + strSplit.Length), strSplit, strtmp);198 }199 }200 #endregion201 }

 

转载于:https://www.cnblogs.com/Chaser-Eagle/p/3684738.html

你可能感兴趣的文章
JavaScript面向对象之类的创建
查看>>
IPsec ISAKMP(转)
查看>>
jquery js解析函数、函数直接调用
查看>>
对于eclipse building workspaces 慢的问题,解决方法
查看>>
ORACLE-行转列
查看>>
Java线程池关闭1-shutdown和isTerminated<转>
查看>>
【论文:麦克风阵列增强】An Algorithm For Linearly Constrained Adaptive Array Processing
查看>>
JPA相关注解
查看>>
HTML导航 - 点击更改背景
查看>>
leetcode 链表 Partition List
查看>>
织梦在服务器上面安装的时候一直提示data文件没有权限,可我已经写了权限,还是提示...
查看>>
自己动手做聊天机器人 一-涉及知识【转】
查看>>
Win2008R2配置WebDeploy发布网站
查看>>
vuex
查看>>
python os 模块
查看>>
卸载完百度影音以后天气助手还在,而且总是自己主动打开ie浏览器,解决方式...
查看>>
GO语言的进阶之路-协程和Channel
查看>>
Rust 1.7.0 处理命令行參数
查看>>
Oschina 安卓client源代码学习之中的一个
查看>>
halcon连续采集图像
查看>>