2011-11-27 65 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」控件。