当前位置:编程学习 > C#/ASP.NET >>

无效的 CurrentPageIndex 值。它必须大于等于 0 且小于 PageCount

分页事件没有绑定的时候,搜索功能很正常
这是搜索功能代码
private void Button1_Click(object sender, System.EventArgs e)
{
string str1=TextBox1.Text;
string sql1="select * from shipin  where (title like '%"+str1+"%')";
DataSet ds=Db.selectDS(sql1);
DataGrid1.DataSource=ds;
DataGrid1.DataBind();


}
但是加了一个分页事件绑定之后,第一页还很正常,就是跳到第二页的时候出现
无效的 CurrentPageIndex 值。它必须大于等于 0 且小于 PageCount。 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 

异常详细信息: System.Web.HttpException: 无效的 CurrentPageIndex 值。它必须大于等于 0 且小于 PageCount。

源错误: 


行 109: DataSet ds=Db.selectDS(sql1);
行 110: DataGrid1.DataSource=ds;
行 111: DataGrid1.DataBind();
行 112:
行 113:
那位高手提示一下,谢谢了
 
--------------------编程问答-------------------- DataGrid1.DataSource=ds.table[0];  --------------------编程问答-------------------- CurrentPageIndex   没有赋值 --------------------编程问答-------------------- 还是不行,不过还是谢谢你了 --------------------编程问答-------------------- 具体解决方法啊 --------------------编程问答-------------------- 跟踪一下点第二页时pageindex的值 --------------------编程问答-------------------- 不用看了。
肯定是在分页事件时候改变了CurrentPageIndex值。然后重新绑定数据的时候没有更改这个值。而重新绑定的数据又没有那么多页。

每次重新绑定值之后,把CurrentPageIndex重新置为0就好了。 --------------------编程问答--------------------  int page1=this.DataGrid1.CurrentPageIndex;
 int page2 =this.DataGrid1.PageCount;
page1=1,
page2=2
就是想不懂,何来的无效的   CurrentPageIndex   值,它必须大于等于   0   且小于   PageCount。   
我都晕了 --------------------编程问答-------------------- 这是我测试的第二页的时候出现的情况 --------------------编程问答-------------------- 搜索按钮绑定数据源的时候。
把CurrentPageIndex=0 --------------------编程问答-------------------- 谢谢了,果然如你所说,真的很谢谢 --------------------编程问答-------------------- 呵呵,结贴吧。
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,