当你选中checkedbox的时候Datagrid其中的一行不是选中了吗? 你翻到另一页再弄回来就没有了,  你可以在回到第一个页面的时候做一个判断啊 就是判断哪个checkeDBOX被选中了~  如果选中的话你再调用当选中checkedbox时datagridview选中一行这个方法就行了

解决方案 »

  1.   


     protected void btDelete_Click(object sender, EventArgs e)
        {
            string[] ID = new string[GridView1.Rows.Count];
            int m = 0;
            //查找GridView中已选数据项
            for (int i = 0; i < GridView1.Rows.Count; i++)
            {
                if (((CheckBox)(GridView1.Rows[i].FindControl("CheckBox1"))).Checked)
                {
                    //获取已选项的主键值
                    string id = Convert.ToString(this.GridView1.DataKeys[i]["bih"]);
                    ID[m] = id;
                    m++;
                }
            }
                        //GridView1Bind();
            }
              }
      

  2.   

    楼主可以试一下用Session记录下用户选中项,这样无论用户怎么翻页都可以做到你想要的效果
      

  3.   

    因为页面是无状态的,当你每翻一页的时候都是全新页面,既便你回翻也是如此。而用Session则可以保证这个会话