string emp="";
for(int i=0;i<this.dgChanShow.Items.Count;i++)//循环DataGrid
{
//得到前面复选框
CheckBox chk= (this.dgChanShow.Items[i].FindControl("cheCkBox")).Checked;
if(chk =="true")
{
   emp=this.dgChanShow.DataKeys[i].ToString();
   bu.Append(emp+",");
}
}我用这个方法来判断复选框是否选中,可是我在调试的时候,发现,无论我是否选中复选框,那个chk 对象 的 checked 属性总为 false;
请问是什么原因

解决方案 »

  1.   

    在page_load()中对datagrid进行绑定时应加入:
    if(!page.ispostback)
    {
       //对datagrid进行数据绑定
    }也就是说在首次加载页面时对它进行绑定,而回传之时不能重新绑定!
      

  2.   

    Boolean chk = ((checkbox)this.dgChanShow.Items[i].FindControl("cheCkBox")).Checked
      

  3.   

    Dim oDataGridItem As DataGridItem
    Dim chkExport As System.Web.UI.WebControls.CheckBoxFor Each oDataGridItem In datagirdMain.Items
        chkExport = oDataGridItem.FindControl("chkExport")
    Next