2010-08-14 27 views
1

我寫我的代碼下按鈕,如下錯誤的GridView

string actkey = string.Empty; 
    foreach (GridViewRow row in GridView1.Rows) 
    { 
     //Label lbInvoice = (Label)row.FindControl("lblInvoice"); 
     string strInvoice = GridView1.DataKeys[row.RowIndex].Values["lblInvoice"].ToString(); 
     objinvoice.Invoice = strInvoice; 
     RadioButton rdn = (RadioButton)row.FindControl("rdnRenew"); 
     if (rdn.Checked) 
     { 
      actkey = oCustomerDetails.CreateRandom(20); 
      objinvoice.activationcode = actkey; 
      objinvoice.editInvoice(actkey, strInvoice); 
     } 
    } 

但我在這個

string strInvoice = GridView1.DataKeys[row.RowIndex].Values["lblInvoice"].ToString(); 

得到一個錯誤,這有什麼錯在我所寫的

我宣佈我的項目模板如下

 <ItemTemplate> 
         <asp:Label ID="lblInvoice" runat="server" Text='<%# Eval("invoceNo") %>'></asp:Label> 
        </ItemTemplate> 
+0

你遇到了什麼錯誤? – 2010-08-14 08:33:05

+0

處理了空引用異常 未將對象引用設置爲對象 – Dotnet 2010-08-14 08:37:31

+0

因此,集合中沒有鍵「lblInvoice」的元素。 – 2010-08-14 08:38:55

回答

0

這是一個工作

string strInvoice = GridView1.DataKeys[row.RowIndex].Values["invoceNo"].ToString(); 

,也爲網格,我們必須分配Datakey值...

0

得到的答案忘記 GridView

2
<asp:Label ID="lblInvoice" runat="server" Text=<%# Eval("invoceNo") %> 

您正在收到此錯誤,因爲可能是此行未設置任何值爲label

string strInvoice = GridView1.DataKeys[row.RowIndex].Values["lblInvoice"].ToString(); 

如果值爲null,則remove(.ToString())可能會工作

+0

不,實際上我調用了錯誤的值,而不是從數據庫字段調用我稱爲標籤字段我有一個錯誤 – Dotnet 2010-08-14 12:21:21