0
   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:オブジェクト参照がオブジェクトのインスタンスに設定されていません

なんらかの理由でこのエラーが発生しました。どこが間違っているのかわからないようです。

4

2 に答える 2

1

あなたの問題は部分的に複数の連鎖した服従によるものです。

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

そして、それらのメソッドの1つがnullを返す場合、何が起こっているのかを簡単に特定することはできません。

あなたが何をしているのかよくわからない限り、私は上記を次のいずれかに分割します。

  1. 行を分離し、中間変数を割り当てます。その後、nullが明らかになります。それが上にある線
  2. NullPtrExceptionnullを解決すると、を逆参照してスローする関数のセット。繰り返しますが、問題のある行はすぐに明らかになります。

上記はあなたの当面の問題に特有のものではないことに気付くでしょう。むしろ、ある段階で連鎖メソッドがnullを返さないことが確実でない場合に便利な方法です。

于 2012-08-15T08:33:24.570 に答える
0

FindControlがTextBoxを取得していない可能性があります。ブレークポイントを設定し、を監視しFindControl()ます。また、FindControlで使用しているIDが正しいことを確認してください。

于 2012-08-15T08:31:43.393 に答える