-2

このエラーが発生しましたが、ラジオ ボタンが原因だと思います。これを解決する方法についてのアイデアはありますか?

ここにaspxがあります:

  <asp:RadioButton ID="radL" runat="server" GroupName="Gender" Checked="false" Text="L" AutoPostBack="true" />
   <asp:RadioButton ID="radP" runat="server" GroupName="Gender" Checked="false" Text="P" AutoPostBack="true" />

背後にあるコード:

   RadioButton radL = (RadioButton)editedItem.FindControl("radL");
   RadioButton radP = (RadioButton)editedItem.FindControl("radP");
   RadioButton JAN = (RadioButton)editedItem.FindControl("JAN");

   if (radL.Checked == true)
   {
       JAN = radL;
   }
   else
   {
       JAN = radP;
   }
   SqlConnection conn1 = BusinessTier.getConnection();
   conn1.Open();
   int flg = BusinessTier.SavePersonalInfo(conn1, 1, txtEmpNo.Text.ToString().Trim(), txtJobTitle.Text.ToString().Trim(), Convert.ToInt32(txtKod.Text.ToString().Trim()), txtJenis.Text.ToString().Trim(),
   txtNama.Text.ToString().Trim(), txtNokp.Text.ToString().Trim(), TLAHIR.SelectedDate.Value, Convert.ToInt32(txtUmur.Text.ToString().Trim()), JAN.Text.ToString().Trim(), txtRas.Text.ToString().Trim(), txtBadge.Text.ToString().Trim(), txtKerja.Text.ToString().Trim(),
   txtKodclin.Text.ToString().Trim(), txtKc.Text.ToString().Trim(), txtAdd1.Text.ToString().Trim(), txtAdd2.Text.ToString().Trim(), txtAdd3.Text.ToString().Trim(), txtAlgr.Text.ToString().Trim(), Session["sesUserID"].ToString(), "N");
   BusinessTier.DisposeConnection(conn1);
4

1 に答える 1

0

FindControl() ステートメントの結果をキャストする前に null をチェックする必要があります

たとえば、この行

RadioButton JAN = (RadioButton)editedItem.FindControl("JAN");

に変更する必要があります

RadioButton JAN;
if(editedItem.FindControl("JAN") != null)
{
   RadioButton JAN = (RadioButton)editedItem.FindControl("JAN");
}
于 2012-11-20T07:07:04.193 に答える