Требовать данные как минимум в одном текстовом поле на странице поиска

2

Я пытаюсь заставить пользователя вводить данные, по крайней мере, в одном из пяти текстовых полей перед запуском поискового запроса..

Я получаю сообщения об ошибках

  • преобразование строки в boolean 2 "Оператор" & не может применяться к операндам типа 'string' и 'string' "

    if (txtLoginName.Text=String.Empty && 
        txtDisplayName.Text = String.Empty && 
        txtCode.Text = String.Empty && 
        txtEmailAddress.Text = String.Empty && 
        txtName.Text = String.Empty)
    {
    
        lblErrorMessage.Text = "At least one search criteria is required.";
        return;
    }
    
Теги:

3 ответа

8
Лучший ответ

Попробуйте выполнить приведенный ниже код. В вашем примере вы использовали "=" вместо "==" в С#.

   if (txtLoginName.Text==String.Empty && 
        txtDisplayName.Text == String.Empty && 
        txtCode.Text == String.Empty && 
        txtEmailAddress.Text == String.Empty && 
        txtName.Text == String.Empty)

Другим способом выполнить одно и то же было бы следующее:

   if (!String.IsNullorEmpty(txtLoginName.Text) && 
        !String.IsNullorEmpty(txtDisplayName.Text) && 
        !String.IsNullorEmpty(txtCode.Text) && 
        !String.IsNullorEmpty(txtEmailAddress.Text) && 
        !String.IsNullorEmpty(txtName.Text))
  • 1
    это сработало. Спасибо!
  • 1
    Обыграй меня! ;)
1

Я пытаюсь привыкнуть к использованию String.IsNullOrEmpty() вместо прямого сравнения. Хотя он делает то же самое под капотом (AFAIK), это хорошая дисциплина, когда вы не работаете с текстовыми полями, но строковыми значениями, которые могут быть пустыми.

if (String.IsNullOrEmpty(txtLoginName.Text) && 
    String.IsNullOrEmpty(txtDisplayName.Text) && 
    String.IsNullOrEmpty(txtCode.Text) && 
    String.IsNullOrEmpty(txtEmailAddress.Text) && 
    String.IsNullOrEmpty(txtName.Text))
{
}

</2c >

0

Скобки вокруг каждого теста также разъяснят, например,

if ( (txtLoginName.Text == String.Empty) &&
     (txtDisplayName.Text == String.Empty) )
{
}

или

if ( (String.IsNullOrEmpty(txtLoginName.Text)) &&
     (String.IsNullOrEmpty(txtDisplayName.Text)) )
{
}
  • 0
    Мое личное мнение таково, что для версии String.IsNullOrEmpty лишние скобки слишком много загромождают. Это, конечно, только мое мнение.
  • 0
    У меня был месяц, чтобы подумать об этом, я согласен!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню