日期:2014-05-17  浏览次数:20405 次

分页页码效果的实现
例一 最新:500 篇 共10 页 1 2 3 4 5 6 7 8 9 10 更多...


例二 1 [2] [3] [4] [5] [6] [7] [8] [9] [10] 下一页 

上一页 [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] 18 [19] [20] [21] [22] [23] [24] [25] [26] [27] 下一页 

这种效果怎样做出来的?

------解决方案--------------------
/// <summary>
/// 类似GOOGLE的分页函数,杨少亮2010-10-20 16:46日修改
/// </summary>
/// <param name="total">记录总数</param>
/// <param name="per">页大小</param>
/// <param name="page">索引页</param>
/// <param name="DivName">容器名称</param>
/// <param name="functionName">JS函数名称</param>
/// <returns></returns>
public static string pagination(int total, int per, int page, string DivName, string functionName)
{
int allpage = 0;
int next = 0;
int pre = 0;
int startcount = 0;
int endcount = 0;
string pagestr = "";
if (page < 1) { page = 1; }
//计算总页数
if (per != 0)
{
allpage = (total / per);
allpage = ((total % per) != 0 ? allpage + 1 : allpage);
allpage = (allpage == 0 ? 1 : allpage);
}
next = page + 1;
pre = page - 1;
startcount = (page + 5) > allpage ? allpage - 9 : page - 4;//中间页起始序号
//中间页终止序号
endcount = page < 5 ? 10 : page + 5;
if (startcount < 1) { startcount = 1; } //为了避免输出的时候产生负数,设置如果小于1就从序号1开始
if (allpage < endcount) { endcount = allpage; }//页码+5的可能性就会产生最终输出序号大于总页码,那么就要将其控制在页码数之内
pagestr = "共" + allpage + "页&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";

pagestr += page > 1 ? "<a href=\"javascript:" + functionName + "(1);\">首页</a>&nbsp;&nbsp;<a href=\"javascript:" + functionName + "(" + pre + ");\">上一页</a>" : "";
//中间页处理,这个增加时间复杂度,减小空间复杂度
for (int i = startcount; i <= endcount; i++)
{
pagestr += page == i ? "&nbsp;&nbsp;<font color=\"#ff0000\">" + i + "</font>" : "&nbsp;&nbsp;<a href=\"javascript:" + functionName + "(" + i + ");\">" + i + "</a>";
}
pagestr += page != allpage ? "&nbsp;&nbsp;<a href=\"javascript:" + functionName + "(" + next + ");\">下一页</a>&nbsp;&nbsp;<a href=\"javascript:" + functionName + "(" + allpage + ");\">末页</a>" : "";

return pagestr;
}
------解决方案--------------------
aspnetpager控件下載個
------解决方案--------------------
代码
http://dotnet.aspx.cc/file/Excel-File-Data-Paging-In-ASP.NEt.aspx

效果
http://dotnet.aspx.cc/Exam/GridViewMultiSelect.aspx
------解决方案--------------------
AspNetPager
应该能实现!
你去网上下载个AspNetPager
------解决方案--------------------
分页数据绑定控件GridPager 1.0
当前页显示在中间
http://blog.csdn.net/sq_zhuyi/archive/2010/07/14/5733465.aspx
------解决方案--------------------
写自定义控件,用js控制显示
------解决方案--------------------
用aspnetpager

网上搜样式