看下面的代码
// DataGRid dg;
private void dg_PageIndexChanged(object source, DataGridPageChangedEventArgs e)
{
dg.CurrentPageIndex = e.NewPageIndex;
DataBind(); //用于邦定数据的一个函数
}
我发现这样写存在问题。主要是不能确保DataBind()调用后,一定会存在e.NewPageIndex这个页号。
我在这里面加入了一个异常处理。
// DataGRid dg;
private void dg_PageIndexChanged(object source, DataGridPageChangedEventArgs e)
{
this.dg.CurrentPageIndex = e.NewPageIndex;
try
{
this.DataBind();
}
catch(System.Web.HttpException ex)
{
switch(ex.ErrorCode)
{
case -2147467259: //页号设置错误的代号
dg.CurrentPageIndex = 0;
this.DataBind();
break;
default:
throw;
}
}
}