把DataGrid1的绑定放在
if not ispostback then
   ....
end if

解决方案 »

  1.   

    CheckBox chbox=(CheckBox)i.FindControl ("CheckBox1");]
    删除这句话
    chbox=(CheckBox)myitem.FindControl ("checkbox");这句话没错的
    确认你要的CheckBox的ID是否为checkbox
      

  2.   

    对了,绑定数据的时候必须写在:
    If(!Pages.IsPostBack)
    {}
      

  3.   

    每次刷新页面都重新绑定,所有checkbox的状态没有保存,
    If(!Pages.IsPostBack)
    {
        //数据绑定
    }
      

  4.   

    private void Button1_Click(object sender,System.EventArgs e) {
                 CheckBox chbox=new CheckBox ();
                 foreach(DataGridItem  myitem in this.DataGrid1.Items )
           {
    CheckBox chbox=(CheckBox)i.FindControl ("CheckBox1");
    chbox=(CheckBox)myitem.FindControl ("CheckBox1");
    ??为何选择了还是false if (chbox.Checked) 
          {
           int nEmpID=(int)myitem.ItemIndex +1;
    string con1="server=localhost;database=database;uid=sa;pwd=";
    string sql="select * from TABLE1 where id ="+nEmpID;
    SqlConnection mycon=new SqlConnection (con1);
    SqlDataAdapter mycom=new SqlDataAdapter (sql,mycon);
    mycon.Open ();
    DataSet da=new DataSet ();
    mycom.Fill (da,"taa");
    DataGrid1.DataSource =da.Tables ["taa"].DefaultView ;
    DataGrid1.DataBind ();
    mycon.Close ();
    break;                   }
                   }
            }
      

  5.   

    谢谢各位,就是将DataGrid1绑定放在if(!IsPostBack)中就行了。
    TO:sgsh51() 
    我那句是多余的,谢谢,