ASP.NET实用分页代码
2011-10-05 00:38
411 查看
/// <summary> /// 获得页数 /// </summary> /// <param name="DataItemCount">总共的数据条数</param> /// <param name="PageSize">每页的数据条数</param> /// <returns>返回页数</returns> public static int GetPageCount(int DataItemCount, int PageSize) { int PageCount; PageCount = (DataItemCount % PageSize == 0) ? DataItemCount / PageSize : DataItemCount / PageSize+1; return PageCount; } /// <summary> /// 分页方法1 /// </summary> /// <param name="CurrentPage">当前页</param> /// <param name="DataItemCount">信息总条数(比如文章数量)</param> /// <param name="LinksCount">每页显示的链接数</param> /// <returns>返回字符串</returns> public static string PagingMethod1(int CurrentPage, int DataItemCount,int PageSize, int LinksCount,string Adds) { int PageCount = GetPageCount(DataItemCount, PageSize); if (CurrentPage <= 0) { CurrentPage = 1; } else if (CurrentPage > PageCount) { CurrentPage = PageCount; } //minpage 和maxpage值的判断 if (PageCount <= LinksCount) //当 页数大于每页显示的连接数时 { MinPage = 1; MaxPage = PageCount; } else if (PageCount > LinksCount) //当页数小于每页显示的连接数时 { if (CurrentPage < LinksCount / 2) { MaxPage = LinksCount; if ((CurrentPage - LinksCount / 2) < 1) { MinPage = 1; } else { MinPage = CurrentPage - LinksCount / 2; } } else { MinPage = CurrentPage - LinksCount / 2 + 1; if ((CurrentPage + (LinksCount / 2)) > PageCount) MaxPage = PageCount; else MaxPage = CurrentPage + LinksCount / 2; } } StringBuilder Link = new StringBuilder(); if (MinPage > 1)//如果链接字符串里没有"首页"的时候 Link.Append("<a href=\"?CurrentPage=1"+Adds+"\">1...</a> "); for (int i = MinPage; i <= MaxPage; i++) { if (i == CurrentPage) Link.Append("<a href=\"?CurrentPage=" + i.ToString() +Adds+ "\">[" + i.ToString() + "]</a> "); else Link.Append("<a href=\"?CurrentPage=" + i.ToString() + Adds+"\">" + i.ToString() + "</a> "); } if (MaxPage < PageCount)//如果链接字符串里没有"最后一页"的时候 Link.Append("<a href=\"?CurrentPage=" + PageCount.ToString() + Adds + "\">..."+ PageCount.ToString()+"</a> "); return Link.ToString(); }结果生成类似于这样的字符串:
1...
89
90
91
92
[93]
94
95
96
97
98
...101
相关文章推荐
- Asp.net常用的三十多个代码(非常实用)
- [收藏]asp.net 2.0 ajax无刷新分页代码
- ASP.NET实用代码(一)
- asp.net利用存储过程分页代码
- ASP.NET生成静态页面和分页代码
- asp.net 结合mysql存储过程进行分页代码
- Asp.net 通用万级数据分页代码[修正下载地址]
- asp.net开发必备51种代码(非常实用)
- asp.net下经典数据库记录分页代码
- asp.net自定义分页代码收藏
- Asp.net开发必备51种代码(非常实用)
- ASP.NET常用的三十三种实用代码
- Asp.net常用的51个代码(非常实用)
- asp.net 分页显示数据表的数据的代码
- ASP.NET MVC 数据分页思想及解决方案代码
- 一个比较好的Asp.net的分页代码,检索速度很快!
- ASP.NET中常用的代码-时间-传值-分页
- Asp.net常用的三十多个代码(非常实用)
- asp.net文章内容分页代码
- [转]Asp.net常用的51个代码(非常实用)