using System.Text;
namespace WX.CRM.WebHelper
{
public class PageHelper
{
private static int showPage = 5;
private static string generalClass = "badge badge-inverse";
private static string currentClass = "badge badge-warning";
///
/// 获取分页字符串
///
/// 数据总量
/// 当前索引
/// 一页的数量
/// 页面Url
///
public static string GetPage(int count, int pageIndex, int pageSize, string fuc)
{
StringBuilder pages = new StringBuilder();
int pageCount = 0;
if (count > pageSize)
{
pageCount = count % pageSize == 0 ? count / pageSize : count / pageSize + 1;
}
else pageCount = 1;
int minIndex = pageCount - showPage;
pages.AppendLine("当前第" + pageIndex + "页/共" + pageCount + "页 共" + count + "条记录 ");
if (pageIndex == 1)
{
pages.AppendLine("首页 ");
pages.AppendLine("上一页 ");
}
else
{
pages.AppendLine("首页 ");
pages.AppendLine("上一页 ");
}
int j = 0;
string aclass = string.Empty;
if (pageCount <= showPage)
{
for (int i = 1; i <= pageCount; i++)
{
if (i == pageIndex)
aclass = "" + currentClass + "";
else
aclass = "" + generalClass + "";
pages.AppendLine("" + i + " ");
j = i;
}
}
else if (pageIndex <= showPage)
{
for (int i = 1; i <= showPage; i++)
{
if (i == pageIndex)
aclass = "" + currentClass + "";
else
aclass = "" + generalClass + "";
pages.AppendLine("" + i + " ");
j = i;
}
for (int i = j + 1; i <= (pageCount >= showPage * 2 ? (showPage + pageIndex - 1) : pageCount); i++)
{
if (i == pageIndex)
aclass = currentClass;
else
aclass = generalClass;
pages.AppendLine("" + i + " ");
}
}
else if (pageIndex > showPage && pageIndex <= minIndex)
{
for (int i = (pageIndex - showPage) + 1; i < pageIndex; i++)
{
if (i == pageIndex)
aclass = currentClass;
else
aclass = generalClass;
pages.AppendLine("" + i + " ");
j = i;
}
for (int i = pageIndex; i <= (pageCount > showPage * 2 ? (showPage + pageIndex) : pageCount); i++)
{
if (i == pageIndex)
aclass = currentClass;
else
aclass = generalClass;
pages.AppendLine("" + i + " ");
}
}
else if (pageIndex > minIndex)
{
for (int i = (minIndex > 0 ? minIndex - 5 + 1 : 1); i <= pageCount; i++)
{
if (i == pageIndex)
aclass = currentClass;
else
aclass = generalClass;
pages.AppendLine("" + i + " ");
}
}
if (pageIndex >= pageCount)
{
pages.AppendLine("下一页 ");
pages.AppendLine("尾页 ");
}
else
{
pages.AppendLine("下一页 ");
pages.AppendLine("尾页 ");
}
return pages.ToString();
//1 2 3 4
//5 ... 55 尾页
}
}
}