使用AspNetPager分页显示只有一页

ang18 2008-10-21 10:20:42
最近使用AspNetPager来分页,显示的只有一页,纳闷,存储过程及基本代码如下:
CREATE procedure PagerOrders
(@pagesize int,
@pageindex int)
as
set nocount on
begin
declare @indextable table(id int identity(1,1),nid int)
declare @PageLowerBound int
declare @PageUpperBound int
set @PageLowerBound=(@pageindex-1)*@pagesize
set @PageUpperBound=@PageLowerBound+@pagesize
set rowcount @PageUpperBound
insert into @indextable(nid) select orderid from orders order by orderid desc
select * from orders O,@indextable t where O.orderid=t.nid
and t.id between @PageLowerBound+1 and @PageUpperBound order by t.id
end
set nocount off

GO
==========================================================================
if (!IsPostBack)
{
AspNetPager1.RecordCount = OrdersBLL.GetOrderCount();
Bindorders();
}

public void Bindorders()
{
Repeater1.DataSource = OrdersBLL.GetPagedOrders(AspNetPager1.PageSize, AspNetPager1.CurrentPageIndex);
Repeater1.DataBind();
}

protected void AspNetPager1_PageChanged(object sender, EventArgs e)
{
Bindorders();
}
其中GetPagedOrders为返回泛型实例IList<Orders> GetPagedOrders(int pagesize, int pageindex)...
初次使用AspNetPager,很急,大家看看问题出现在哪里,先谢谢了...
...全文
167 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
webdiyer 2008-10-23
  • 打赏
  • 举报
回复
出去了几天才回来,对不起回复晚了,出现这种问题百分之九十都是RecordCount属性的值没有设置为正确的要分页的记录总数而引起的。
ang18 2008-10-23
  • 打赏
  • 举报
回复
嗯,是的,已经找到了,执行存储过程的方法有误,返回了错误值
ang18 2008-10-23
  • 打赏
  • 举报
回复
很感谢各位的发言,以及webdiyer的支持,是我马虎了
哈哈 2008-10-21
  • 打赏
  • 举报
回复
建议认真看一遍ASPNETPAGER的应用文档
fuzijing 2008-10-21
  • 打赏
  • 举报
回复
这问题

你直接问发aspnetpager的老大,叫什么wei什么什么的
lihongdian 2008-10-21
  • 打赏
  • 举报
回复
需要设置AspNetPager1.RecordCount>AspNetPager1.PageSize
ang18 2008-10-21
  • 打赏
  • 举报
回复
问题根源找到了,获取总数量的存储过程执行后有错误,即:
AspNetPager1.RecordCount = OrdersBLL.GetOrderCount();
xiaoronghu 2008-10-21
  • 打赏
  • 举报
回复
加个Response.Write看看有没有取到记录数量,你的存储过程里没有取数量的语句啊
CloneCenter 2008-10-21
  • 打赏
  • 举报
回复
直接问 陕北吴旗娃 。
careful 2008-10-21
  • 打赏
  • 举报
回复
我也用过,看似没有问题,
只要AspNetPager的PageChanged事件写了,
AspNetPager的RecordCount设置正确,
应该可以啊,关注,顶
tm62490309 2008-10-21
  • 打赏
  • 举报
回复
顶起来 。别沉没了。。学习下。。
ang18 2008-10-21
  • 打赏
  • 举报
回复
补充:所用数据库为sql2000
ang18 2008-10-21
  • 打赏
  • 举报
回复
伙计,是查出来的记录数:
CREATE procedure GetOrderCount
as
select count(orderid) from orders;
return
oec2003 2008-10-21
  • 打赏
  • 举报
回复

public void Bindorders()
{
AspNetPager1.RecordCount=查出来的记录数;
Repeater1.DataSource = OrdersBLL.GetPagedOrders(AspNetPager1.PageSize, AspNetPager1.CurrentPageIndex);
Repeater1.DataBind();
}


62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧