2009-08-26 10 views
2

J'essaie d'exiger que l'utilisateur saisisse des données dans au moins l'une des cinq zones de texte avant d'exécuter une requête de recherche. .Requiert des données dans au moins une zone de texte sur la page de recherche

Je reçois des messages d'erreur sur les

  1. convertir une chaîne en booléen 2 "Opérateur '& &' ne peut pas être appliqué aux opérandes de type 'string' et '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; 
    } 
    

Répondre

8

Essayez le code ci-dessous. Dans votre exemple, vous utilisiez "=" au lieu de "==" en C#.

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

Une autre façon de faire la même chose serait d'utiliser ceci:

if (!String.IsNullorEmpty(txtLoginName.Text) && 
     !String.IsNullorEmpty(txtDisplayName.Text) && 
     !String.IsNullorEmpty(txtCode.Text) && 
     !String.IsNullorEmpty(txtEmailAddress.Text) && 
     !String.IsNullorEmpty(txtName.Text)) 
+1

qui a fonctionné. Merci! –

+1

Battez-moi! ;) – ZombieSheep

1

J'essaie de prendre l'habitude d'utiliser String.IsNullOrEmpty() au lieu d'un comparateur direct. Bien qu'il fasse la même chose sous le capot (AFAIK) c'est une bonne discipline pour quand vous ne travaillez pas avec des textboxes, mais des valeurs de chaîne qui peuvent être nulles.

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

</2c >

0

autour de chaque test Parenthèses clarifieraient aussi, par exemple

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

ou

if ((String.IsNullOrEmpty(txtLoginName.Text)) && 
    (String.IsNullOrEmpty(txtDisplayName.Text))) 
{ 
} 
+0

Mon opinion personnelle est que pour la version String.IsNullOrEmpty, les parenthèses supplémentaires encombrent trop les choses. C'est, bien sûr, juste mon opinion. – ZombieSheep

+0

Euh, après avoir eu un mois pour y penser, je suis d'accord! – upsidedowncreature

Questions connexes