页面分页实现

        public static string Parse(int cur, int total, int size, string attr, int split = 2)
        {
            var page = GetPageNum(total, size);
            if (page <= 1)
                return "";
            var str = new StringBuilder();
            if (cur > 1)
            {
                str.Append("<a href=\"" + string.Format(attr + "&page={0}", cur - 1) + "\" class=\"pg-prev\" >上一页</a>");
            }
            else
            {
                str.Append("<span class=\"pg-prev\">上一页</span>");
            }
            var start = cur - split;
            var end = cur + split;
            if (start - 1 < 0)
            {
                end = end - (start - 1);
                start = 1;
            }
            if (end > page)
                end = page;
            for (int i = 1; i <= page; i++)  // 循环页数
            {
                if (i == start - 1 && start - 1 != 1)
                    str.Append("<span>...</span>");
                if (i == end + 1 && page != end + 1)
                    str.Append("<span>...</span>");
                if (i == cur)
                    str.Append("<span class=\"current\">" + cur + "</span>");
                else if ((i >= start && i <= end) || i == 1 || i == page)
                    str.Append("<a href=\"" + string.Format(attr + "&page={0}", i) + "\" >" + i + "</a>");
                //else
                //    str.Append("<a href=\"" + string.Format(attr, i) + "\" class=\"jp-hidden\">" + i + "</a>");
            }
            if (cur < page)
            {
                str.Append("<a href=\"" + string.Format(attr + "&page={0}", cur + 1) + "\" class=\"pg pg_next\" >下一页</a>");
            }
            else
            {
                str.Append("<span class=\"pg pg_next\">下一页</span>");
            }
            return str.ToString();
        }
        public static int GetPageNum(int total, int pagesize)
        {
            var m = total % pagesize;
            if (m > 0)
                m = 1;
            return (total / pagesize) + m;
        }

 

posted @ 2019-04-30 22:18  NCat  阅读(362)  评论(0)    收藏  举报