页面分页实现
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; }
真正的大师永远怀着一颗学徒的心。

浙公网安备 33010602011771号