cPage分页改进,应用于asp.net的自定义分页,url传值分页

cpage分页,是适用于asp.net的分页代码。


原来分页效果如下图:

cPage分页改进,应用于asp.net的自定义分页,url传值分页

进过这几天改进后如下图所示:

cPage分页改进,应用于asp.net的自定义分页,url传值分页

分页部分C#源码如下:


/// <summary>
        /// 分页处理
        /// </summary>
        /// <param name="recordCount">记录总数</param>
        /// <param name="pageSize">每页记录数</param>
        /// <param name="pageNum">中间页码数</param>
        /// <param name="pageIndex">当前页码</param>
        /// <param name="beginIndex">返回的首记录标识</param>
        /// <param name="endIndex">返回的尾记录标识</param>
        /// <param name="clink">链接地址</param>
        /// <returns></returns>        
        public static string getPage(int recordCount, int pageSize, int pageNum, int pageIndex, out int beginIndex, out int endIndex, string clink)
        {
            int pcount = recordCount / pageSize;
            if (recordCount % pageSize > 0)
                pcount = pcount + 1;
            if (pageIndex < 1) pageIndex = 1;
            if (pageIndex > pcount) pageIndex = pcount;

            beginIndex = pageSize * (pageIndex - 1) + 1;
            endIndex = pageSize * pageIndex;

            int num = pageNum;    //中间显示页码数量

            string str = "";

            str = str + "共<span class=’pagecolorc’>" + recordCount + "</span>条记录&nbsp;<span  class=’pagecolorc’>" + pageIndex + "</span> / <span  class=’pagecolorc’>" + pcount + "</span> 页&nbsp;&nbsp;";

            if (pcount > 1)
            {

                if (pageIndex - 1 > 0)
                    str = str + " <a class=’pagecolor pagenum’ href=’" + clink.Replace("[#p#]", (pageIndex - 1).ToString()) + "’ title=’上一页’>上一页</a> ";

                if (pageIndex > num + 1)
                {
                    if (pageIndex != 1 && pageIndex > num)
                        str = str + " <a class=’pagecolor pagenum’ href=’" + clink.Replace("[#p#]", "1") + "’>1</a> ";

                    if (pageIndex - num - 1 != 1)
                        str = str + " <a class=’pagecolor pagenum’ href=’" + clink.Replace("[#p#]", (pageIndex - num - 1).ToString()) + "’ title=’上一组’>...</a> ";
                }

                for (int i = num; i >= 1; i--)
                {
                    if (pageIndex - i < 1)
                        continue;

                    str = str + " <a class=’pagecolor pagenum’ href=’" + clink.Replace("[#p#]", (pageIndex - i).ToString()) + "’>" + (pageIndex - i).ToString() + "</a> ";

                }

                str = str + " <a class=’pagecolorc pagecur’>" + pageIndex + "</a> ";

                if (pageIndex < num)
                    num = 2 * num - pageIndex;

                for (int i = 1; i <= num; i++)
                {
                    if (pageIndex + i > pcount)
                        break;

                    str = str + " <a class=’pagecolor pagenum’ href=’" + clink.Replace("[#p#]", (pageIndex + i).ToString()) + "’>" + (pageIndex + i).ToString() + "</a> ";

                }


                if (pageIndex <= pcount - num - 1)
                {
                    if (pageIndex < pcount - num - 1)
                        str = str + " <a class=’pagecolor pagenum’ href=’" + clink.Replace("[#p#]", (pageIndex + num + 1).ToString()) + "’ title=’下一组’>...</a> ";

                    if (pageIndex != pcount && pcount > num)
                        str = str + " <a class=’pagecolor pagenum’ href=’" + clink.Replace("[#p#]", pcount.ToString()) + "’>" + pcount + "</a> ";
                }

                if (pageIndex + 1 <= pcount)
                    str = str + " <a class=’pagecolor pagenum’ href=’" + clink.Replace("[#p#]", (pageIndex + 1).ToString()) + "’ title=’下一页’>下一页</a> ";


            }

            return str;
        }


cpage分页应用请参以前一篇:cPage分页,asp.net自定义分页,url传值分页,支持datalist、gridview、Repeater等

cPage分页改进,应用于asp.net的自定义分页,url传值分页

上一篇:textbox、txt中车换行符处理,textbox多行分开到数据,使用Environment.NewLine


下一篇:JS面试题①