我经历了几个相同错误的帖子,我无法弄清楚为什么它不适合我。
我正在尝试在文本框中添加多个值。我从2个文本框开始测试,但我的计划是总共10个。但我一直收到这个错误。我在每个文本框上都有这个事件。想法?如果需要,我可以包含我的asp代码。
protected void calculateLabs(object sender, EventArgs e)
{
string lab01 = TextBox1.Text;
string lab02 = TextBox2.Text;
int num1 = int.Parse(lab01);
int num2 = int.Parse(lab02);
int final = num1 + num2;
Label1.Text = final.ToString();
}
UPDATE,它有效,但异常仍然在标签上显示消息,一旦我输入下一个值,错误消失。
protected void calculateLabs(object sender, EventArgs e)
{
try
{
int num1 = Convert.ToInt32(TextBox1.Text);
int num2 = Convert.ToInt32(TextBox2.Text);
int final = num1 + num2;
Label1.Text = final.ToString();
}
catch(Exception ex)
{
Label1.Text = ex.Message;
}
}
答案 0 :(得分:0)
<强>更新强>
在转换Textbox1&amp;的值之前Textbox2确保它们具有值而不是euqual null
protected void calculateLabs(object sender, EventArgs e)
{
try
{
if (!string.IsNullOrEmpty(TextBox1.Text) && !string.IsNullOrEmpty(TextBox2.Text))
{
int num1 = Convert.ToInt32(TextBox1.Text);
int num2 = Convert.ToInt32(TextBox2.Text);
int final = num1 + num2;
Label1.Text = final.ToString();
}
}
catch (Exception ex)
{
Label1.Text = ex.Message;
}
}
答案 1 :(得分:0)
为什么使用final这个词作为变量名?它是c#的保留字,其他语言尝试使用其他变量名,如total,finalNum等。
答案 2 :(得分:0)
不确定原因,我一直收到错误。所以我只包括每个文本框的默认值为0的地方。
<asp:TextBox ID="part1" runat="server" AutoPostBack="true" OnTextChanged="calculateSum" Text="0">
不再出错了。