从所选单选按钮获取文本

时间:2012-11-20 09:48:39

标签: c# asp.net button radio radgridview

我收到错误:对象引用未设置为对象的实例。这里是代码

  <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);

1 个答案:

答案 0 :(得分:0)

错误可能是因为, 1)您尚未检查RadioButtonList是否为null。而错误是因为你没有得到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,)

但可能存在选择多个项目的情况。

相关问题