2016-08-04 14 views
1

Ich habe Textbox, die der Gesamtpunktzahl ist. Ich muss die Validierung für das andere Textfeld mit Lesewert deaktivieren.Wie überprüfen Sie Textbox-Steuerwert größer als Null?

Die Bedingung i überprüfen müssen, ist, wenn Gesamtwert größer als Null ist und null oder empty.here ist code.I versucht, wenn (!string.IsNullOrEmpty(txtTotalScore.Text))&& (txtTotalScore.Text>0) um es nicht funktioniert, da txtscore Textbox-Steuerelement ist und 0 ist integer. Wie löse ich das?

TextBox myscore = fv.FindControl("txtTotalScore") as TextBox; 
if (!string.IsNullOrEmpty(txtTotalScore.Text))      
    RangeValidator rv = fv.FindControl("rngReading") as RangeValidator; 
    rv.Enabled = false; 
} 

Antwort

1

Um den Inhalt eines Textfeld auf eine ganze Zahl zu vergleichen, müssen Sie den Inhalt als eine Reihe (d.h. „42“ = 42) analysieren. Sie können dies tun, indem Sie die Parse() oder TryParse() Methode verwendet und dann das Ergebnis, dass

if (!string.IsNullOrEmpty(txtTotalScore.Text))  
    // At this point, you know it isn't null 
    var potentialValue = -1; 
    // Parse the textbox and store the value in potentialValue 
    Int32.TryParse(txtTotalScore.Text, out potentialValue); 
    if(potentialValue > 0) 
    { 
      // Then disable your range validator 
      RangeValidator rv = fv.FindControl("rngReading") as RangeValidator; 
      rv.Enabled = false; 
    } 
} 
1

auf 0 Vergleichen würde ich nur den Text zu int der Textbox konvertieren, und führen Sie dann die positive Kontrolle:

TextBox myScore = fv.FindControl("txtTotalScore") as TextBox; 
try 
{ 
    int totalScore = Convert.ToInt32(myScore.Text); 
    if (totalScore > 0) 
    { 
     RangeValidator rv = fv.FindControl("rngReading") as RangeValidator; 
     rv.Enabled = false; 
    } 
} 
catch(FormatException ex) 
{ 
    // Show error message stating that text should be a numeric value 
}