分页中全部删除最后一个面页里所有的东西时出错
如下
“/PressManage”应用程序中的服务器错误。
--------------------------------------------------------------------------------无效的 CurrentPageIndex 值。它必须大于等于 0 且小于 PageCount。 
问题如何比较好的引入CurrentPageIndex的值

解决方案 »

  1.   

    我在deleteCommand中都加入这段代码的(VB的,你自己修改一下) Dim index As Int32 = DataGrid1.CurrentPageIndex * DataGrid1.PageSize + e.Item.ItemIndex
            If index <> 0 Then
                Dim ii As Int32 = Decimal.Remainder(index, Me.DataGrid1.PageSize)
                If ii = 0 Then
                    Me.DataGrid1.CurrentPageIndex = Me.DataGrid1.PageCount - 2
                End If
            End If..........你的删除代码
      

  2.   

    加上 CurrentPageIndex 的判断或 catch(HttpException he) 当 he.GetHttpCode() == 500 时把 CurrentPageIndex = 0;
      

  3.   

    才做程序,不是太明白
    private void btnDelete_Click(object sender, System.EventArgs e)
    {
    for (int num1 = 0; num1 < this.DataGrid1.Items.Count; num1++)
    {
    CheckBox box1 = (CheckBox) this.DataGrid1.Items[num1].FindControl("ChkDelete");
    TextBox box2 = (TextBox) this.DataGrid1.Items[num1].FindControl("TextBox1");
    this.Label1.Text  = box1.Checked.ToString();
    if (box1.Checked)
    {
    this.dodelete(box2.CssClass.ToString(), "Y");
    }
    }    
    this.BindDbGrid1(sender, e);
    }
    private void dodelete(string Iid,string YorN)
    {
    ADOUnit adounit1 = new ADOUnit();
    string sql = " update Client_Manage set  DeleteFlag = 'Y' where ClientId = " + Iid + "";
    adounit1.ExecuteGet(sql);
    adounit1.Dispose();
    }