日期:2011-12-28  浏览次数:20396 次

在DataGrid的多个分页中,删除末页最后一条记录的时候,经常会出现:

无效的 CurrentPageIndex 值。它必须大于等于 0 且小于 PageCount。 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 

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

现在只要把下面这段代码,加到DataGrid的DeleteCommand事件中,就可以彻底解决改异常。
注:[protected System.Web.UI.WebControls.DataGrid dg];

if((dg.CurrentPageIndex==dg.PageCount-1)&&dg.Items.Count==1)
{
   if(dg.CurrentPageIndex-1>1)
   {
   dg.CurrentPageIndex = dg.CurrentPageIndex-1;
   }
   else
   {
   dg.CurrentPageIndex = 0;
   }
            
}
this.open_sql();
dg.DataBind();

本人是一菜鸟,目的是向大家学习,谢谢!!!
很希望能和大家成为朋友,请大家加我QQ--126083810