2012-11-20 78 views
0

我收到錯誤:未將對象引用設置爲對象的實例。這裏的代碼從選定的單選按鈕中獲取文本

<asp:radiobuttonlist id="JAN" runat="server"> 
       <asp:listitem id="radL" runat="server" value="L" /> 
       <asp:listitem id="radP" runat="server" value="P" /> 
       </asp:radiobuttonlist> 

後面的代碼:

protected void RadGrid1_InsertCommand(object source, Telerik.Web.UI.GridCommandEventArgs e) 
        { 
         try 
        { 
         GridEditableItem editedItem = e.Item as GridEditableItem; 
         RadioButtonList JAN = (RadioButtonList)editedItem.FindControl("JAN"); 
         string GENDER = JAN.SelectedValue; 

         foreach (ListItem item in JAN.Items) 
         { 
         if (item.Selected) 
         { 
          GENDER = item.Value; 
         } 
         } 
         SqlConnection conn1 = BusinessTier.getConnection(); 
         conn1.Open(); 
         int flg = BusinessTier.SavePersonalInfo(conn1, 1,JAN.SelectedItem.Value,) 
         BusinessTier.DisposeConnection(conn1); 
+3

在哪一行你會得到那個錯誤? – yogi

+0

RadioButtonList JAN =(RadioButtonList)editedItem.FindControl(「JAN」);主要問題在於上述問題。 「editedItem」找不到名爲「JAN」的控件。你的JAN是空的。這就是爲什麼你得到「對象引用沒有設置爲實例」的錯誤。 –

回答

0

的錯誤可能是因爲, 1)你有沒有,如果單選按鈕列表爲空或不檢查。錯誤是因爲你沒有得到RadioButtonList的引用。 檢查下面的代碼:

protected void RadGrid1_InsertCommand(object source, Telerik.Web.UI.GridCommandEventArgs e) 
       { 
        try 
       { 
        GridEditableItem editedItem = e.Item as GridEditableItem; 
        RadioButtonList JAN = (RadioButtonList)editedItem.FindControl("JAN"); 

       **// add below code** 
        if(JAN==null) 
        { 
        // print some error message.. 
        return; 
        } 

        string GENDER = JAN.SelectedValue; 

        foreach (ListItem item in JAN.Items) 
        { 
        if (item.Selected) 
        { 
         GENDER = item.Value; 
        } 
        } 
        SqlConnection conn1 = BusinessTier.getConnection(); 
        conn1.Open(); 
        int flg = BusinessTier.SavePersonalInfo(conn1, 1,JAN.SelectedItem.Value,) 
        BusinessTier.DisposeConnection(conn1); 

2),你已通過直接選擇項目的值的一些功能。

int flg = BusinessTier.SavePersonalInfo(conn1, 1,JAN.SelectedItem.Value,) 

但是可能會出現多個項目被選中的情況。

+0

yes..its現在作品..tq先生:) – aaa

+0

你是最受歡迎的。並讓我知道如果我可以做更多.. – Anup

相關問題