输入数据库不正确

时间:2011-05-25 16:34:00

标签: javascript textbox drop-down-menu visibility

我有一个下拉列表(值为'CMC'和'CHF')和两个文本框。 当我从下拉列表中选择一个选项时,会出现一个文本框控件(可见性是用javascript编写的)。 当我在这个文本框中输入一个数字并点击sumbit / next按钮时,它应该将这些信息保存在数据库中。 逻辑适用于一个选项,但它不适用于另一个选项! 这两个选项都有文本框与它们相关联,只有在选择了相应选项时才可见。 前端逻辑工作(即可见性),但是当我输入'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'输入值!

指教。

非常感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

我想你可能想要更像这样的东西,你要检查文本框本身是否存在:

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

答案 1 :(得分:0)

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,但是你的设置是相同的字符串两次,strHFNUM被过度骑行所以如果你这两个都设置了只有txt_HFMN将设置为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
        }