2016-10-12 16 views
1

私は文字列が数値の代わりにテキストボックスに入力された場合に反応する簡単なエラーメッセージ関数を書く方法を理解しようとしています。単純なErrorMessage関数を書く方法

私は値1と値2を計算したいが、文字列が入力された場合はラベルにエラーを表示したいとしましょう。

1 + 1 = 2

+ 1 =エラー

マイコード

Calculate.cs

public static string ErrorMessage() 
    { 
     string msg = ""; 
     try 
     { 
      //do sth 
     } 
     catch (Exception ex) 
     { 
      msg = "Wrong value"; 
     } 
     return msg; 
    } 

Calculator.asxc

protected void Button1_Click(object sender, EventArgs e) 
    { 
    try 
     { 

      //calculate - works 
     } 
    catch 
     { 
      Error.Text = Calculate.ErrorMsg(); 
     } 

はまた、このようなSTHを試してみましたが、動作していないようです:

Calculate.cs

public static bool ErrorMessage(string value1, string value2) 
    { 
     bool check = true; 
     string error; 
     if (value1 != "" && value2 != "") 
     { 
      check = true; 
     } 
     if (value1 =="" || value2 =="") 
     { 
      check = false; 
      error = "Error!"; 
     } 
     return check;  
    } 

Calculator.asxc

protected void Button1_Click(object sender, EventArgs e) 
    { 
    try 
     { 

      //calculate - works 
     } 
     // 
     catch 
     { 
     bool res = false; 

      res = Calculate.ErrorMessage(textBox1.Text, textBox2.Text); 

      Error.Text = res.ToString(); 
     } 

助けてください...私は第2の方法は、数値の数字をチェックしないことを知っているが、私はちょうどtiは何もworks..butない場合は、いくつかのロジックを実装して見しようとしていた

ない私は迷ってしまいました

答えて

2

私が理解しているように、数字の代わりに数字の代わりに文字列を入力すると、アプリケーションにエラーメッセージが表示されます。

Int32.Parse()またはInt32.TryParse()メソッドを使用する必要があります。 ParseTryParseの詳細はこちら。

メソッドTryParseは、文字列を整数に解析できない場合はエラーをスローしないので、代わりにfalseを返します。

protected void Button1_Click(object sender, EventArgs e) 
{ 
    int a; 
    int b; 

    // Here we check if values are ok 
    if(Int32.TryParse(textBox1.Text, out a) && Int32.TryParse(textBox2.Text, b)) 
    { 
     // Calculate works with A and B variables 
     // don't know whats here as you written (//calculate - works) only 
    } 
    // If the values of textBoxes are wrong display error message 
    else 
    { 
     Error.Text = "Error parsing value! Wrong values!"; 
    } 
} 

あなたはにErrorMessageメソッドを使用する必要がある場合は、ここではそれはあなたが変更することができますどのようにされています。ここでは

は、あなたのクラスでこのメソッドを使用するには、このようなのButton1方法の何かを変更する方法の例ですあなたのにErrorMessage方法が、これは最初の例は簡単です、より複雑である:

public static string ErrorMessage(string value1, string value2) 
{ 
    int a; 
    int b; 

    // If we have an error parsing (note the '!') 
    if(!Int32.TryParse(value1, out a) || !Int32.TryParse(value2, b)) 
    { 
     return "Error parsing value! Wrong values!"; 
    } 

    // If everything is ok 
    return null; 
} 

ホップこれは、あなたがもっと情報が必要かどうかを尋ねる助けになります。

+0

はい、あなたは何をしようとしているのですか? しかし、私は別のWebフォームにvoid関数を表示すると思いますか? function ErrorMessage()は、値1、値2の取得設定値をチェックするとします。 – aiden87

+0

この関数が必要な場合は、最初の例を編集し、* ErrorMessage *の例を追加しました。見てみな。 –

+0

これは完璧に機能します!コードを通過して理解しようとします。ありがとう! – aiden87

関連する問題