索引大于行数!!!各位快来帮我看看

pgameli 2009-03-07 02:55:23
我给GridView绑定了一个AspNetPager分页控件, 程序运行没问题,可以点下一页的话,就出现异常,各位帮我看看
页面cs代码是这样写的

protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
if (Request.QueryString["mid"] != null)
{
ViewState["mid"] = Request.QueryString["mid"].ToString();
Bind();
}
}
}

//绑定数据源
public void Bind()
{
try
{
MODULE_MenuContent mc = new MODULE_MenuContent();
mc.Mid = Convert.ToInt32(ViewState["mid"].ToString());
mc.Size = AspNetPager1.PageSize;
mc.Index = AspNetPager1.CurrentPageIndex;

//查询记录集
mc.Docont = 0;
PagedDataSource pds = new PagedDataSource();
DataTable dt = (DataTable)bll.Pager(mc);
pds.DataSource = dt.DefaultView;
Response.Write(pds.DataSourceCount.ToString());
pds.AllowPaging = true;
pds.PageSize = AspNetPager1.PageSize;
pds.CurrentPageIndex = AspNetPager1.CurrentPageIndex - 1;
GridView1.DataSource = pds;
GridView1.DataBind();
}
catch (Exception ex)
{
js.JsMsg(ex.Message);
}
}

protected void AspNetPager1_PageChanged(object sender, EventArgs e)
{
Bind();
}


存储过程是这样的,测试没有问题

create procedure MenuContent_pager
@mid int,--菜单编号
@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 id from MenuContent where mid=@mid order by addtime desc
select O.id,O.title,O.content,O.addtime,O.click from MenuContent O,@indextable t where O.id=t.nid
and t.id between @PageLowerBound+1 and @PageUpperBound order by t.id
end
set nocount off
GO
...全文
114 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
ReyZhang 2009-03-07
  • 打赏
  • 举报
回复

既然用到aspnetpager控件就没有必要再用pagedDataSource对象了

lz可以看一下aspnetpager是如何调用并绑定数据服务器控件的实例.

一般的aspnetpager控件,你只需要传给它两个参数就可以了一个是 pagesize,还一个就是Recordcount (数据的记录数:这个是由你的存储过程返回来的结果集的记录数)

pgameli 2009-03-07
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 wpj2101928 的回复:]
我可以给你我的代码?你加我QQ吧  546995753
[/Quote]

wpj2101928 2009-03-07
  • 打赏
  • 举报
回复
我可以给你我的代码?你加我QQ吧 546995753
pgameli 2009-03-07
  • 打赏
  • 举报
回复
eee
分不够我再加
高手快来帮我看看啊

62,046

社区成员

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

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

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

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