需求如下:
我要做一个存储过程的分页,存储过程已实现,后能给他传俩个值,即:pageNo(当前页码) pageSize(每页的显示数)
我现在想用AspNetPage控件
问题1:这个控件我应该怎么给存储过程传pageNo(当前页码) pageSize(每页的显示数)这两个值??
问题2:我须要开启AspNetPage的URL分页~!但我还要重写URL分页的地址~!我怎么能改写AspNetPage的分页地址??如果以上的不可以,要完成以上的分页,我应该怎么写呢~!无头绪中...
我要做一个存储过程的分页,存储过程已实现,后能给他传俩个值,即:pageNo(当前页码) pageSize(每页的显示数)
我现在想用AspNetPage控件
问题1:这个控件我应该怎么给存储过程传pageNo(当前页码) pageSize(每页的显示数)这两个值??
问题2:我须要开启AspNetPage的URL分页~!但我还要重写URL分页的地址~!我怎么能改写AspNetPage的分页地址??如果以上的不可以,要完成以上的分页,我应该怎么写呢~!无头绪中...
你可以用分页SQL
网上很多,
其实你只需要把要查询的开始与结束的数字给SQL就可以了
with Records as
(
这里是你拼接后的SQL
)
select *, (select count(1) from Records ) allCount (查询出来的总数)
from Records with (nolock)
where CountNum between 0(开始页) and 20(结束页) 使用如下:int pageSize = this.AspNetPager1.PageSize;
int curpage = this.AspNetPager1.CurrentPageIndex;
int upPage = (curpage - 1) * pageSize + 1; //得到开始的页码
int downPage = curpage * pageSize;//得到结束的页面把这upPage ,downPage 这两个传到那个上面的
开始页和结束页就可以了
list是你把开始页和结束页传进入后查询 出来的数据集
if(list.Count>0)
{
AspNetPager1.RecordCount = list[0].AllCount; //设置总数 this.Repeater1.DataSource = list;
this.Repeater1.DataBind();
}
还有
后面的数据库的读取之类的东西我就不说了
AspNetPager
int PageNo = 1;
int PageSize = 10;
if (Request.QueryString["page"] != null)
{
PageNo = Convert.ToInt32(Request.QueryString["page"].ToString());
}
int ListCount;
int totalPageCount;
DataSet ds = new DataSet();
ds = bh.GetErShouList(where, order, " UpdateTime desc", PageSize, PageNo, out ListCount, out totalPageCount);
zufangbiao.DataSource = ds;
zufangbiao.DataBind(); AspNetPager1.RecordCount = ListCount;
AspNetPager1.PageSize = 10;