你好,我想我通过我的GridView GridView和页的第一页上的复选框取消选中我,我在第一页中选择的复选框来选择。下面是代码,我用,但我得到一个错误,说:"错误:Sys.WebForms.PageRequestManagerServerErrorException:未将对象引用设置到对象的实例。"有人可以帮助,请
private void RememberOld()
{
ArrayList candidateID = new ArrayList();
int index = -1;
foreach (GridViewRow row in GridView3.Rows)
{
index = int.Parse(GridView3.DataKeys[row.RowIndex].Value.ToString());
bool result = ((CheckBox)row.FindControl("chkselect")).Checked;
if (Session["CHECKED_ITEMS"] != null)
candidateID = (ArrayList)Session["CHECKED_ITEMS"];
if (result)
{
if (!candidateID.Contains(index))
candidateID.Add(index);
}
else
candidateID.Remove(index);
}
if (candidateID != null && candidateID.Count > 0)
Session["CHECKED_ITEMS"] = candidateID;
}
private void RepopulateValues()
{
ArrayList candidateID = (ArrayList)Session["CHECKED_ITEMS"];
if (candidateID != null && candidateID.Count > 0)
{
foreach (GridViewRow row in GridView3.Rows)
{
int index = int.Parse(GridView3.DataKeys[row.RowIndex].Value.ToString());
CheckBox mycheckbox = (CheckBox)row.FindControl("chkselect");
if (candidateID.Contains(index))
{
mycheckbox.Checked = true;
}
else
mycheckbox.Checked = false;
}
}
}
protected void GridView3_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
RememberOld();
GridView3.PageIndex = e.NewPageIndex;
GridView3.DataBind(); // Your logic to bind gridview
RePopulateValues();
}