public class MyPagecontroll
{
public int TotalCount { get; set; }//数据的总条数
public int PageSize { get; set; }//每一页的显示条数
public int CurrentPageIndex { get; set; }//当前是页码数,也就是说明当前是第几页
public int MaxPageCount { get; set; }//用于显示当前页码条的数量
public string UrlFormat { get; set; }//绘制当前的Url
public int PageCount { get; set; }
public MyPagecontroll()
{
PageSize = Convert.ToInt32(ConfigurationManager.ConnectionStrings["PageSize"].ConnectionString);
MaxPageCount = Convert.ToInt32(ConfigurationManager.ConnectionStrings["MaxPageCount"].ConnectionString);
PageCount = (int)Math.Ceiling((double)TotalCount / PageSize); }
public void SetCurrentPageIndex(string pn)
{
int tempPageIndex;
if (int.TryParse(pn, out tempPageIndex))
{
CurrentPageIndex = tempPageIndex;
}
else
{
CurrentPageIndex = ;
}
}
public string GetPageLink(int page, string txt)
{
StringBuilder sb = new StringBuilder();
string url = UrlFormat.Replace("{n}", page.ToString());
sb.Append("<a href='").Append(url).Append(">").Append(txt).Append("</>");
return sb.ToString();
}
public string Render()
{
StringBuilder sb = new StringBuilder();
int visibleStart = CurrentPageIndex - MaxPageCount / ;
if (visibleStart < )
{
visibleStart = ;
}
int viszbleEnd = visibleStart + MaxPageCount;
if (viszbleEnd > PageCount)
{
viszbleEnd = PageCount;
}
if (CurrentPageIndex > )
{
sb.Append(GetPageLink(, "首页"));
sb.Append(GetPageLink(CurrentPageIndex - , "上一页"));
}
else
{
sb.Append("<span>首页</span>");
sb.Append("<span>上一页</span>");
}
for (int i = visibleStart; i <= viszbleEnd; i++)
{
if (i == CurrentPageIndex)
{
sb.Append("<span>").Append(i).Append("</span>");
}
else
{
sb.Append(GetPageLink(i, i.ToString()));
}
}
if (CurrentPageIndex < PageCount)
{
sb.Append(GetPageLink(CurrentPageIndex + , "下一页"));
sb.Append(GetPageLink(PageCount + , "末页"));
}
else
{
sb.Append("<span>下一页</span>");
sb.Append("<span>末页</span>");
}
return sb.ToString();
}
}

最新文章

  1. Springmvc数据校验
  2. 网站flash黑屏问题
  3. OSG osgDB FileUtils FileNameUtil操作文件名相关函数
  4. 用CSS3实现文字描边
  5. easyui使用技巧
  6. React-Native入门指导之iOS篇
  7. HDU 3696 Farm Game(dp+拓扑排序)
  8. 用pip爽久了,竟然完了easy install安装过程了
  9. EasyUI中combotree允许多选的时候onSelect事件会重复触发onCheck事件
  10. android 添加左右滑屏手势
  11. Linux上leveldb的安装和使用
  12. jenkins+gitlab配置
  13. C#连接和操作Oracle数据
  14. myeclipse debug模式 报错source not found
  15. 使用Kotlin开发Android应用
  16. javascript的fn方法(转)
  17. mysql数据同步
  18. Decker容器使用
  19. openssh 在32位、64位操作系统上的安装配置
  20. JAVA 集合随笔

热门文章

  1. python基础之运算符和编码
  2. Guava 开源工具的简单介绍
  3. android Manifest.xml 文件详解
  4. 一个简化的插件框架c#
  5. js五种基本数据类型:string, number, boolean, null, undefined
  6. 简单认识php
  7. LeetCode Linked List Medium 2. Add Two Numbers
  8. Django知识笔记
  9. Jmeter接口压力测试(先登录再测接口)
  10. oracle 中||