从2个文本框中读取时,对象引用未设置为对象的实例

时间:2012-08-15 08:27:05

标签: asp.net

   for (int i = 0; i < parts.Count; i++)
        {
            if (!((part)parts[i]).deleteUsed)
                ((part)parts[i]).hints = ((TextBox)partsView.Rows[i].Cells[4].FindControl("textBox")).Text;
            ((part)parts[i]).PartsWaiting = ((TextBox)partsView.Rows[i].Cells[5].FindControl("textBox1")).Text;
        }

System.NullReferenceException:未将对象引用设置为对象的实例

我出于某种原因得到了这个错误,似乎没有弄清楚我哪里出错了。

2 个答案:

答案 0 :(得分:1)

你的问题部分是由于多个链式的差异,例如。

a.getB().getC().getD()

如果其中一个方法返回null,则无法轻易识别正在发生的事情。

除非你非常确定自己在做什么,否则我会将上述内容分成两部分:

  1. 分隔行并分配中间变量。那么null将变得明显。它所在的行
  2. 一组函数,在解析null时取消引用并抛出NullPtrException。同样,您的违规行将立即显现出来。
  3. 您会注意到上述内容并非特定于您的直接问题。相反,当你不能确定链接方法在某个阶段不会返回null时,这是一个有用的实践。

答案 1 :(得分:0)

FindControl很可能没有得到TextBoxes。设置断点并观看FindControl()。还要确保您使用ain FindControl的ID是正确的。