关于DataGrid中分页显示出错的问题,无效的 CurrentPageIndex 值
我已经重载了DataGrid的DataBind方法:
public override void DataBind()
{
if (this.DataSource == null)
return;
DataTable dt = (DataTable)this.DataSource;
if (dt.Rows.Count <= this.CurrentPageIndex * this.PageSize)
{
this.CurrentPageIndex = 0;
}
base.DataBind ();
}
当DataGrid列是动态绑定的时候没有问题
但当DataGrid列是在aspx文件中绑定时,如果DataGrid当前显示的不是第一页,再执行一个没有记录的查询,系统就出错,提示“无效的 CurrentPageIndex 值。它必须大于等于 0 且小于 PageCount。”,但我在调试的时候发现CurrentPageIndex的值就是0,但ViewState["CurrentPageIndex"]的值还是1,后来加上了
if (this.ViewState["CurrentPageIndex"] != null)
this.ViewState["CurrentPageIndex"] = 0;
之后还是出错,调试时发现ViewState["CurrentPageIndex"]的值也已经变成了0,但就是依然报一样的错!百思不得其解,请哪位朋友帮忙看看,谢谢!