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

1 に答える 1

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

ただし、複数の項目が選択されている場合があります。

于 2012-11-20T11:20:33.460 に答える