2011-11-27 68 views
0

我用了2 GridView控件的一个实例,我身后用这个代码:错误:未将对象引用设置到对象

protected void SAVE_bt_Click(object sender, EventArgs e) 
{ 
    if (Hidden_txt.Text == Convert.ToString(1)) 
    { 

     for (int i = 0; i < FirstDD_gv.Rows.Count; i++) 
     { 
      GridViewRow row = FirstDD_gv.Rows[i]; 
      bool isChecked = ((CheckBox)row.FindControl("chkSelect")).Checked; 

      if (isChecked) 
      { 

       SqlCommand cmd = new SqlCommand(); 
       cmd.Connection = new SqlConnection(Class1.CnnStr); 
       cmd.CommandText = "insert into table values(@Po_Number,@Line_No,@DelDate,@First_Sec)"; 
       cmd.Connection.Open(); 
       cmd.Parameters.AddWithValue("@Po_Number", PoNumber_lbl.Text); 
       cmd.Parameters.AddWithValue("@Line_No", FirstDD_gv.Rows[i].Cells[1].Text); 
       cmd.Parameters.AddWithValue("@DelDate", DeliveryDate_txt.Text); 
       cmd.Parameters.AddWithValue("@First_Sec", Hidden_txt.Text); 
       cmd.ExecuteNonQuery(); 

      } 
     } 
    } 
    else 
    { 

     for (int i = 0; i < SecondDD_gv.Rows.Count; i++) 
     { 
      GridViewRow row = SecondDD_gv.Rows[i]; 
      bool isChecked = ((CheckBox)row.FindControl("chkSelect")).Checked; 

      if (isChecked) 
      { 

       SqlCommand cmd = new SqlCommand(); 
       cmd.Connection = new SqlConnection(Class1.CnnStr); 
       cmd.CommandText = "insert into table values(@Po_Number,@Line_No,@DelDate,@First_Sec)"; 
       cmd.Connection.Open(); 
       cmd.Parameters.AddWithValue("@Po_Number", PoNumber_lbl.Text); 
       cmd.Parameters.AddWithValue("@Line_No", SecondDD_gv.Rows[i].Cells[1].Text); 
       cmd.Parameters.AddWithValue("@DelDate", DeliveryDate_txt.Text); 
       cmd.Parameters.AddWithValue("@First_Sec", Hidden_txt.Text); 
       cmd.ExecuteNonQuery(); 

      } 
     } 
    } 


} 

取决于我hidden_​​txt.text,只是显示他们的一个 当我第一次使用gridview我没有任何问题,但是当我使用第二个网格视图时,它向我显示此错误:

Object reference not set to an instance of an object 

我该怎么办?

+1

你可以把断点,看看哪些行代码是打破? – pramodtech

+2

你得到的错误是哪一行?调试时看到了什么 - 您试图访问哪些成员的对象为空?这个行上的 – Oded

+0

正在打破:bool isChecked =((CheckBox)row.FindControl(“chkSelect”))。 –

回答

0

冒险猜想 - 我怀疑你的第二个gridview没有声明的“chkSelect”控件。