长文章分页,手动输入分页符

    技术2022-05-20  87

     

    文章分页类库    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.Label displaycontent;

            public ContentPager()        {            //            // TODO: 在此处添加构造函数逻辑            //        }        /// <summary>        /// 绑定分页        /// </summary>        /// <param name="content">文章内容</param>        /// <param name="query">参数</param>        public void datapager(string content, string query)        {            //从web.config中获取分页符,为了方便放到配置文件,分页符可以自己定义            string PagerSplit = System.Configuration.ConfigurationSettings.AppSettings["PagerSplit"];            //根据分页符把内容分割成数组            string[] contentArray = StringSplit(content, PagerSplit);

                int PageCount = contentArray.Length;            this.pagecount.Text = "共<b><font color='#FF0000'>" + PageCount.ToString() + "</font></b>页";            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 = "第<b><font color='#FF0000'>" + CurPage.ToString() + "</font></b>页";            //下一页            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  文章内容        public System.Web.UI.WebControls.Label DisplayContent        {            get            {                return this.DisplayContent;            }            set            {                this.displaycontent = value;            }        }        #endregion

            #region  首页        public System.Web.UI.WebControls.HyperLink Lnkfist        {            get            {                return this.lnkfist;            }            set            {                this.lnkfist = value;            }        }        #endregion

            #region  上页        public System.Web.UI.WebControls.HyperLink Lnkprev        {            get            {                return this.lnkprev;            }            set            {                this.lnkprev = value;            }        }        #endregion

            #region 下页        public System.Web.UI.WebControls.HyperLink Lnknext        {            get            {                return this.lnknext;            }            set            {                this.lnknext = value;            }        }        #endregion

            #region  末页        public System.Web.UI.WebControls.HyperLink Lnklast        {            get            {                return this.lnklast;            }            set            {                this.lnklast = value;            }        }        #endregion

            #region 当前页        public System.Web.UI.WebControls.Label Pagenum        {            get            {                return this.pagenum;            }            set            {                this.pagenum = value;            }        }        #endregion

            #region 共多少页        public System.Web.UI.WebControls.Label Pagecount        {            get            {                return this.pagecount;            }            set            {                this.pagecount = value;            }        }        #endregion

            #region 将字符串分割成数组        /// <summary>        /// 将字符串分割成数组        /// </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    }

     

     

    调用部分:在aspx中增加lable等元素。<asp:label id="currentpage" runat="server" CssClass="btn">当前页</asp:label>  <asp:label id="totalpage" runat="server" CssClass="btn">共多少页</asp:label>  <asp:hyperlink id="lnkfist" runat="server" CssClass="btn">首页</asp:hyperlink>|<asp:hyperlink id="lnkprev" runat="server" CssClass="btn">前页</asp:hyperlink>|<asp:hyperlink id="lnknext" runat="server" CssClass="btn">下页</asp:hyperlink>|<asp:hyperlink id="lnklast" runat="server" CssClass="btn">尾页</asp:hyperlink>

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

            protected void Page_Load(object sender, EventArgs e)        {

                        this.txtcontent.Text = dstSet.Tables[0].Rows[0]["nt1"].ToString();                    getPager();

            }        /// <summary>        /// 文章分页        /// </summary>        public void getPager()        {            ContentPager pager = new ContentPager();

                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.txtcontent;

                string query = "&id=" + Request.QueryString["id"].ToString();            pager.datapager(txtcontent.Text, query);        }


    最新回复(0)