asp.net自适应分页页码

我想用C#写一个页码导航的程序
就是类似Gridview的数字页码一样的
“首页 1 2 3 4 5 末页 ”
点击页码的时候,显示的页码能够自动改变
“首页 6 7 8 9 10 末页 ” 这样的,
有高手能够帮忙吗?
我不是要改GridView的样式,而是要能自动适应范围的分页代码,1楼的请看仔细好吗?

public static int pages; //总的页数
public static int pagecout; //总的记录条数
public static int currentpage; //当前页
public static int cout=10; //每页要显示的条数
public static int showpage=5; //数字导航条要显示页码的个数

//计算总页数
if (pagecout % cout == 0)
{
pages = pagecout / cout;
}
else
{
pages = pagecout / cout + 1;
}
//自动适应分页范围
//注意,这段代码就是你要的
int min;//要显示的页面数最小值

int max;//要显示的页面数最大值

if (currentpage > pages)//当前页必须小于最大页
{
currentpage = pages;
}

if (currentpage % showpage == 0) //如果恰好整除
{
min = currentpage + 1;
max = currentpage + showpage;
}
else if (currentpage % showpage == 1 && currentpage > showpage)
{
min = (((int)currentpage / showpage) - 1) * showpage + 1;
max = currentpage - 1;
}
else
{
min = ((int)currentpage / showpage) * showpage + 1;
max = (((int)currentpage / showpage) + 1) * showpage;
}

string numberStr = "";
//循环组装页码html。这一段你自由发挥
for (int i = min; i <= max; i++)
{
if (i <= pages)//只有不大于最大页才显示
{
if (currentpage == i)
{
//如果是当前页高亮
numberStr = numberStr + "<a><b>"+i+"</b></a>";
}
else
{
numberStr = numberStr + "<a>"+i+"</a>";
}
}
}

这也是我参考网上的
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-12-31
gridview没有这样的样式,除非自己写。推荐你用一个第三方免费分页控件:aspNetPager
http://www.webdiyer.com/Controls/AspNetPager/Downloads

asp.net 分页代码 首页 上一页 1 2 3 4 5 >> …… 30 下一页 尾页_百 ...
仿豆瓣分页原型(Javascript版) \/* Paginator *\/ .paginator { font: 14.8px normal Arial, Helvetica, sans-serif;color: #666666;margin-top: 10px;margin-bottom: 5px;line-height: 150%;background-color

如何使用asp.net web页面自定义分页控件
假如数据库有10000条记录,默认SQL是分页把这10000条记录都取出来,然后利用GridView内置功能分页,显示出来,那么只显示20条,SQL也是取出1000条,而自定义分页则是利用SQL,使用20条,就从数据库里去20条,其他的不取,所以,效率较高,但是实现稍微麻烦点。假设你要实现类似如下一个自定义产品分页列表数...

在ASP;里如何写分页的代码“第一页”“下一页”…以及跳转到…,各位...
<a class=b9 href="index.asp?page=<%= page-1 %>&zpfl=<%= Trim(Request.QueryString("zpfl")) %>">上一页 <% else %> 上一页 <% end if %> <% if page<rs.pagecount then %> <a class=b9 href="index.asp?page=<%= page+1 %>&zpfl=<%= Trim(Request.QueryString("zp...

asp.NET分页如何实现?
Asp.Net分页控件实现分页功方法\/步骤 1、首先来了解Asp.Net分页控件——AspNetPager以及控件的属性。CurrentPageIndex\/\/当前页数(页码)RecordCount \/\/总数据条数 PageSize \/\/每页数据条数 PageCount \/\/总的页数 当然还有一些特别“人性化”的属性可以设置。2、接下来就是给控件属性赋值就可以了,通过Sql语...

asp.net 怎么分页
如果GridView是直接绑定数据库,则很简单:只要点击GridView空间左上角的小三角形,再弹出的选项中,将"启动分页"打上勾即可。 如果是用代码实现,则需要这么做: 1、允许分页:设置AllowPaging=True; 2、设置GridView属性栏中PagerSetting里的一些属性中,定义分页的样式; 3、数据部署:将...

asp.net如何实现gridview控件进行分页并带有查询的代码
<\/asp:DropDownList>页 .aspx.cs文件中的代码:protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e){ this.GridView1.PageIndex = this.ddlCurrentPage.SelectedIndex;bind();} protected void lnkbtnFrist_Click(object sender, EventArgs e){ this.GridView1.PageIndex = 0;bind...

问题C# asp.net gridview 查询后分页的问题 单击第二页时数据重新绑定了...
回答:常理说分页就那两句就够了沃!! 你那段查询的代码是在哪里用的??

ASP.MET 实现 上一页1 2 3 4 5 下一页 下5页
写一个分页函数,赋好值就可以用了 public string ThePage(int i_RecordCount, int i_pagesize, int i_pageIndex, string i_PID, string i_CssClass){ int i_Pcount = 0;int i_StartPageNum;int i_EndPageNum;string i_pagerString = "";i_pagerString = i_pagerString + "\\n.CssPage...

.net 分页 要求效果是 上一页1 2 3 4 5 6 下一页
<\/asp:datalist> <asp:LinkButton ID="btnFrist" runat="server" CommandName="Pager" CommandArgument="Frist" OnCommand="PagerButtonClick" Text="首页"><\/asp:LinkButton> <asp:LinkButton ID="btnPrev" runat="server" CommandName="Pager" CommandArgument="Prev" OnCommand="PagerButto...

asp.net GridView分页中页脚如何加上当前页和总页数
GridView分页中,一般有两种数据读取方式:第一种是一次性把所要的数据全部读到客户端,再进行处理,如比放到datatable中,总页数就是datatable["表名"].rows.count\/每页的数据条数.但这种方式不适合大数据量查询,特别是在多人一起查询时.第二种方式也是本人常用的方法,使用SQL中的row_number()函数,就...

相似回答
大家正在搜