protected void btDel_Command(object sender, EventArgs e)
        {
            int n = 0;
            foreach (RepeaterItem item in rptDept.Items)
            {
                CheckBox c = item.FindControl("cbid") as CheckBox;
                if (c.Checked)
                {
                    n = user.Delete(((PUB_T_USER)item.DataItem).USERID);
                }
            }
            if (n > 0)
            {
                js = Common.ScriptHelper.Alert("删除成功");
                BindData(1);
            }
         n = user.Delete(((PUB_T_USER)item.DataItem).USERID);这一句出现未将对象引至实例,请问如何解决?

解决方案 »

  1.   

    item.FindControl("cbid") as CheckBox可能没找到,c为null
      

  2.   

    item.FindControl("cbid") as CheckBox;这不到这个CheckBox
      

  3.   

    在你的这段代码中未引用这个对象PUB_T_USER,你可以这样写一个:PUB_T_USER ptuser=new PUB_T_USER();在那段代码中进行强制转换!
      

  4.   

    (PUB_T_USER)item.DataItem这里转换失败了。你看看数据格式是否一致
      

  5.   

    遇到这种基本问题,最先想到的不是上csdn寻求答案。。细心点调试下。。应该么问题的
      

  6.   

    打断点调试一下就行了,看看哪个是NULL
      

  7.   

    user.Delete(((PUB_T_USER)item.DataItem)这个方法,是不是没有返回值,或者返回的是空的??
      

  8.   

    (((PUB_T_USER)item.DataItem这个转换,也有可能里面是空的,所以转换自然出错.