for (int i = 0; i < gvBAM.Rows.Count; i++)
        {
            //查找已经选择的项
            CheckBox cbSelect = (CheckBox)gvBAM.Rows[i].FindControl("ckbSelect");
            if (cbSelect.Checked)
            {
                sumCBK += 1;
                Label KCode = (Label)gvBAM.Rows[i].FindControl("KCode");
                string code = KCode.Text;
                string str = "<script>alert('" + code + "')</script>";
                Response.Write(str);            }
        }出现的错误 未将对象引用设置到对象的实例--

解决方案 »

  1.   

    if(cbSelect != null)
    {
    if (cbSelect.Checked)
      {
      
      Label KCode = (Label)gvBAM.Rows[i].FindControl("KCode");
      if(KCode !=null)
    {
    sumCBK += 1;
      string code = KCode.Text;
      string str = "<script>alert('" + code + "')</script>";
      Response.Write(str);
    }
      }
    }
      

  2.   

    你的页面中需要设置
    <%@ Page Language="C#" EnableViewState="true" %>
      

  3.   

    2楼 net_lover  你好   我加过了  可是还是这个错误  1楼的如果这样判断  它一辈子都是null
      

  4.   

    gvBAM.Rows[i].cells[列号].Controls[1] as CheckBox
    controls里面不一定是的1,自己调试的时候在即时窗口里试下,一般情况下是1
      

  5.   

    CheckBox cbSelect = (CheckBox)gvBAM.Rows[i].FindControl("ckbSelect");
    改成这种
    CheckBox cbSelect = gvBAM.Rows[i].FindControl("ckbSelect") as CheckBox;Label KCode = gvBAM.Rows[i].FindControl("KCode") as Label;应该不会出现转换错误gvBAM.Rows[i].FindControl("ckbSelect")本身可能已经是 null了