2009-08-26 5 views
2

Ich versuche, den Benutzer aufgefordert, Daten in mindestens einem der fünf Textfelder einzugeben, bevor Sie eine Suchanfrage ausführen. .Erfordern Daten in mindestens einem Textfeld auf der Suchseite

Ich erhalte Fehlermeldungen über

  1. einen String Umwandlung 2 "Operator '& &' kann nicht auf Operanden vom Typ 'string' und 'string' angewendet werden" boolean

    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; 
    } 
    

Antwort

8

Versuchen Sie den folgenden Code. In Ihrem Beispiel verwendeten Sie "=" anstelle von "==" in C#.

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

Eine andere Möglichkeit, dasselbe wäre, dies zu erreichen zu verwenden:

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

, die funktionierte. Vielen Dank! –

+1

Beat mich dazu! ;) – ZombieSheep

1

Ich versuche, in die Gewohnheit zu bekommen String.IsNullOrEmpty der Verwendung von() anstelle einer direkten Vergleich. Obwohl es die gleiche Sache unter der Haube (AFAIK) tut, ist es eine gute Disziplin für, wenn Sie nicht mit Textfeldern arbeiten, aber String-Werte, die Null sein können.

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

</2c >

0

Klammerung um jeden Test würde verdeutlichen auch, z.B.

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

oder

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

Meine persönliche Meinung ist, dass für die String.IsNullOrEmpty-Version die zusätzlichen Klammern die Dinge zu sehr durcheinander bringen. Es ist natürlich nur meine Meinung. – ZombieSheep

+0

Äh, nachdem ich einen Monat Zeit hatte, darüber nachzudenken, stimme ich zu! – upsidedowncreature

Verwandte Themen