0

Textbox1 と Textbox2 に int 入力を指定すると、両方の合計が Label1 に表示されます。誰かがそれがどのように機能するかを教えてもらえますか??? int.parse が機能しません。

.asxp

 <div>
         <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
         <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
         <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
         <asp:Button ID="Button1" runat="server" Text="Display" />

     </div>

.aspx.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace MQM_System
{   
    public partial class _Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }
        protected void Button1_Click(object sender, System.EventArgs e)
        {
            int sum = 0;

            sum = int.Parse(TextBox1.Text) + int.Parse(TextBox2.Text);
            Label1.Text = sum.ToString();
        }
    }
}
4

2 に答える 2

0

Int.Parse の問題は、有効な数値が必要であり、そうでない場合は例外が発生することです。
より良い制御を可能にするTryParseを使用できます

  int num1;
  if(!Int32.TryParse(TextBox1.Text, out num1))
  {
      Label1.Text = "Not a valid number";
      return;
  }
  int num2;

  if(!Int32.TryParse(TextBox2.Text, out num2))
  {
      Label1.Text = "Not a valid number";
      return;
  }
  sum = num1 + num2;
  Label1.Text = sum.ToString();
于 2013-05-25T15:53:13.990 に答える