Я пытаюсь заставить пользователя вводить данные, по крайней мере, в одном из пяти текстовых полей перед запуском поискового запроса..
Я получаю сообщения об ошибках
преобразование строки в 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;
}
Попробуйте выполнить приведенный ниже код. В вашем примере вы использовали "=" вместо "==" в С#.
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))
Я пытаюсь привыкнуть к использованию 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 >
Скобки вокруг каждого теста также разъяснят, например,
if ( (txtLoginName.Text == String.Empty) &&
(txtDisplayName.Text == String.Empty) )
{
}
или
if ( (String.IsNullOrEmpty(txtLoginName.Text)) &&
(String.IsNullOrEmpty(txtDisplayName.Text)) )
{
}