2013-05-25 2 views
0

Я даю int input в Textbox1 и Textbox2, тогда сумма обоих будет отображаться на Label1. Может ли кто-нибудь показать мне, как это работает? Мой int.parse не работает.Простое добавление 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(); 
     } 
    } 
} 
+0

'' '.Parse' выдает' FormatException', если вход не может быть проанализирован в целое число. Вы, вероятно, должны либо поймать это исключение, либо просто использовать 'int.TryParse' вместо этого, который возвращает« bool »для указания успеха или неудачи. – Dirk

ответ

1

Вы должны назначить обработчик события для Button1_ClickButton события OnClick.

<asp:Button ID="Button1" runat="server" Text="Display" OnClick="Button1_Click" /> 

Также вы должны использовать TryParse метод (msdn) вместо Parse метода в Button1_Click обработчика событий.

+0

Благодарим за ошибки. – CoderBeginner

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(); 
+0

Спасибо за полезную информацию! – CoderBeginner

Смежные вопросы