关于DataGrid中分页可能存在的问题

看下面的代码
// 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;
        }
   }
}



原文地址:https://www.cnblogs.com/bluesea/p/246534.html