2011-04-06 62 views
0

我收到此錯誤:對象引用未設置爲實例。有人知道這個錯誤是什麼嗎?

運行此代碼後

 DataTable dtOriginal = new DataTable(); 
     dtOriginal = (DataTable)gvRapporten.DataSource; //Return Table consisting data 

     //Create Tempory Table 
     DataTable dtTemp = new DataTable(); 

     //Creating Header Row 
     dtTemp.Columns.Add("<b>Melder</b>"); 
     dtTemp.Columns.Add("<b>Onderwerp</b>"); 
     dtTemp.Columns.Add("<b>Oplosser</b>"); 
     dtTemp.Columns.Add("<b>Niveau 2</b>"); 
     DataRow drAddItem; 
     for (int i = 0; i < dtOriginal.Rows.Count; i++) 
     { 
      drAddItem = dtTemp.NewRow(); 
      drAddItem[0] = dtOriginal.Rows[i][0].ToString();//Melder 
      drAddItem[1] = dtOriginal.Rows[i][1].ToString();//Onderwerp 
      drAddItem[2] = dtOriginal.Rows[i][2].ToString();//Oplosser 
      drAddItem[3] = dtOriginal.Rows[i][3].ToString();//Niveau 2 

      dtTemp.Rows.Add(drAddItem); 
     } 

GridView的「gvRapporten」的數據源設置在Page_Load事件,所以它不能爲空

+0

張貼堆棧跟蹤給錯誤。 – 2011-04-06 10:05:39

+0

使用調試並檢查哪一行是你的錯誤?在你的問題中顯示該行代碼 – 2011-04-06 10:06:36

+0

offtopic評論:dtTemp.Columns.Add(「Melder」);?您正在創建DataTable列。不是標題行。 – Anuraj 2011-04-06 10:07:26

回答

2

在回發之後,DataSource將爲空。您必須重新運行查詢才能獲取原始數據。

2

如果此代碼是不是一部分「 page_load'然後我假設這是在其他控制事件上,這意味着gvRapporten.DataSource的值將在回發中清除。由於web是'無狀態',它不會保留數據表值,因此應該從數據庫中再次獲取值。

0

如果你是肯定gvRapporten,有可能是在循環訪問行的一個包含空引用,當你調用的ToString()函數

相關問題