データベースへの誤った入力

drop-down-menu javascript textbox visibility
データベースへの誤った入力

ドロップダウンリスト(値は「CMC」と「CHF」)と2つのテキストボックスがあります。 ドロップダウンリストからオプションを選択すると、テキストボックスコントロールが表示されます(可視性はJavaScriptで記述されています)。 このテキストボックスに数値を入力してsumbit / nextボタンをクリックすると、この情報がデータベースに保存されます。 ロジックは1つのオプションでは機能しますが、他のオプションでは機能しません! 両方のオプションにはテキストボックスが関連付けられており、それぞれのオプションが選択されている場合にのみ表示されます。 フロントエンドロジックが機能する(つまり、 可視性)が、「txt_HFMN」に数値を入力すると(ドロップダウンに表示されるこのテキストボックスのオプションは、テキストボックス「txt_HFNumber」の「CHF」および「CMC」です)

csファイルのコードは次のとおりです。
   if (txt_HFNumber != null)
    {

        strHFNUM = txt_HFNumber.Text;

    }
    else if (txt_HFMN != null)
    {
        strHFNUM = txt_HFMN.Text;

    }
    else
    {
        strHFNUM = string.Empty;
    }

エラーを特定するために、デバッグを試みました。 上記の条件は「txt_HFNumber」のみをチェックし、「else if」部分はチェックしません。 「txt_HFMN」に値を入力したにもかかわらず、「txt_HFNumber」をチェックし、「txt_HFNumber」がフロントエンドに存在しない/このテキストボックスに値が入力されていないため、データベースに「null」を挿入します「txt_HFMN」が値を入力しました!

お勧めします。

あなたの助けに本当に感謝します。

  0  0


ベストアンサー

テキストボックス自体が存在するかどうかを確認するために、このようなものがもう少し必要になると思います:

if (!string.IsNullOrEmpty(txt_HFNumber.Text) )
   {        strHFNUM = txt_HFNumber.Text;    }
...

1


if (txt_HFNumber != null) {
        strHFNUM = txt_HFNumber.Text;
}  else {
        strHFNUM = string.Empty;
}

  if (txt_HFMN != null) {
      strHFNUM = txt_HFMN.Text;
  } else  {
     strHFNUM = string.Empty;
  }

txt_HFNumberとtxt_HFNumberを設定している場合、ステートメントでtxt_HFNumberに到達することはありません。2を分離しますが、ポイントは同じ文字列を2回設定することです。strHFNUMは上書きされますstrHFNUMに設定されます

またはあなたがすることができます

 if (txt_HFNumber != null && xt_HFMN == null) {
            strHFNUM = txt_HFNumber.Text;
        } else {
            strHFNUM = txt_HFMN.Text; //IF xt_HFMN is NULL it will set to null thus setting the empty string is irrelevent
        }

0


タイトルとURLをコピーしました