我是这么做的,下面是分页事件
   protected void gvSC_PageIndexChanging(object sender, GridViewPageEventArgs e)
    {
        ArrayList selectedList = new ArrayList();
        int index = -1;
        for (int i = 0; i < gvSC.Rows.Count; i++)
        {
            CheckBox chkAdd = (CheckBox)gvSC.Rows[i].FindControl("chkAdd");
            index = (int)gvSC.DataKeys[gvSC.Rows[i].RowIndex].Value;
            if (Session["CHKADD"] != null)
                selectedList=(ArrayList)Session["CHKADD"];
            if (chkAdd.Checked)
            {
                if (!selectedList.Contains(index))
                    selectedList.Add(index);
            }
            else
                selectedList.Remove(index);
        }
        if (selectedList != null && selectedList.Count > 0)
        {
            Session["CHKADD"] = selectedList;
        }
        
        gvSC.PageIndex = e.NewPageIndex;
        gvSC.DataBind();
         
        selectedList = (ArrayList)Session["CHKADD"];
        if (selectedList != null && selectedList.Count > 0)
        {
            foreach (GridViewRow row in gvSC.Rows)
            {
                index = (int)gvSC.DataKeys[row.RowIndex].Value;
                if (selectedList.Contains(index))
                {
                    CheckBox myChkAdd = (CheckBox)row.FindControl("chkAdd");
                    myChkAdd.Checked = true;
                }
            }
        }
    }
调试过,是按照预想的流程下去的,但是尽管运行到了
CheckBox myChkAdd = (CheckBox)row.FindControl("chkAdd");
                    myChkAdd.Checked = true;
但是回到页面上gridview中的checkbox也没有变成已选择,这是为什么