为什么分页导致gridview失去状态?

时间:2015-12-19 12:12:27

标签: c# asp.net c#-4.0 gridview

我面临分页问题

我在Gridview中放了5个Pgaesize。 Gridview填充了6条记录。第一页显示第一条记录,第二页显示第六条记录。

现在我在gridview中放了一个按钮,点击后调用rowcommand。在点击行命令时点击它然后它适用于前5个记录但如果我点击第2页上的记录然后它会抛出Index Out of range exception.

分页:

protected void grdViewCases_PageIndexChanging(object sender, GridViewPageEventArgs e)
    {
        grdViewCases.PageIndex = e.NewPageIndex;
        ShowCases(txtBoxCaseNo.Text);
    }

此处在第2行引发错误,即CaseID

protected void grdViewCases_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        try
        {
            short index = Convert.ToInt16(e.CommandArgument);
            int CaseID = Convert.ToInt32(grdViewCases.DataKeys[index].Value);
            short UserID = Convert.ToInt16(Session["UserID"]);

            if (e.CommandName == "cmdSelect")
            {
                HdnFieldCaseID.Value = Convert.ToString(CaseID);
                txtBoxCaseNo.Text = grdViewCases.Rows[index].Cells[1].Text;
                grdViewCases.Visible = false;
            }
        }
        catch (Exception ex)
        {
            Response.Write(Convert.ToString(ex.Message));
        }
    }

0 个答案:

没有答案