Неверный ввод в базу данных - PullRequest
0 голосов
/ 25 мая 2011

У меня есть выпадающий список (со значениями «CMC» и «CHF») и два текстовых поля. когда я выбираю опцию из выпадающего списка, появляется элемент управления текстового поля (видимость написана в javascript). когда я вписываю число в это текстовое поле и нажимаю кнопку sumbit / next, он должен сохранить эту информацию в базе данных. Логика работает для одного варианта, но не работает для другого! Обе опции имеют текстовые поля, связанные с ними, которые видны только при выборе соответствующей опции. логика внешнего интерфейса работает (то есть видимость), но когда я ввожу число для txt_HFMN (опция для этого текстового поля, чтобы появиться в раскрывающемся списке «CHF» и «CMC» для текстового поля «txt_HFNumber»)

Вот код в файле .cs:

   if (txt_HFNumber != null)
    {

        strHFNUM = txt_HFNumber.Text;

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

    }
    else
    {
        strHFNUM = string.Empty;
    }

Я попытался отладить его, чтобы точно определить ошибку. Вышеупомянутое условие проверяет только «txt_HFNumber», оно никогда проверяет часть «если еще». хотя я ввел значение в «txt_HFMN», он проверяет «txt_HFNumber» и с тех пор 'txt_HFNumber' не существует во внешнем интерфейсе / в это текстовое поле не вводится значение, он вставляет 'null' в база данных вместо введенного значения 'txt_HFMN'!

Консультировать.

Очень ценю вашу помощь.

Ответы [ 2 ]

1 голос
/ 25 мая 2011

Я думаю, что вам может понадобиться что-то более похожее, вы проверяете, существует ли само текстовое поле:

if (!string.IsNullOrEmpty(txt_HFNumber.Text) ) 
   {        strHFNUM = txt_HFNumber.Text;    } 
...
0 голосов
/ 25 мая 2011
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
        }
...