我正在通过网络服务在asp.net
中添加两个数字。但它显示了错误的结果。
当我调试它时,文本框的价值比我在文本框中放置的价值还要高。
如果有人对此有任何疑问,请告诉我。为什么会这样?
Web服务中的代码: -
public int ADD(int a, int b)
{
return a + b;
}
Default.aspx.cs: -
protected void Button1_Click(object sender, EventArgs e)
{
if (IsPostBack == true)
{
WebService1 ws = new WebService1();
int res = ws.ADD(Convert.ToInt32(TextBox1.Text), Convert.ToInt32(TextBox1.Text));
Label3.Visible = true;
LblReslt.Visible = true;
LblReslt.Text = res.ToString();
}
}
答案 0 :(得分:3)
您需要将第二个文本框更改为TextBox2:
int res = ws.ADD(Convert.ToInt32(TextBox1.Text), Convert.ToInt32(TextBox2.Text));
答案 1 :(得分:0)
你可以清理几件小事。
protected void Button1_Click(object sender, EventArgs e)
{
if (IsPostBack) //an if expression already tests for true/false. Since IsPostBack is already a Boolean, then testing it for equality to true is redundant.
{
}
}
根据定义,如果单击按钮的事件处理程序,您将处于回发状态。所以你不需要检查它是否是回发。而且你要添加两次相同的TextBox。我建议你添加第二个复选框的值。如有疑问,请使用调试器逐步查看代码,看看发生了什么。
protected void Button1_Click(object sender, EventArgs e)
{
WebService1 ws = new WebService1();
int res = ws.ADD(Convert.ToInt32(TextBox1.Text), Convert.ToInt32(TextBox2.Text));
Label3.Visible = true;
LblReslt.Visible = true;
LblReslt.Text = res.ToString();
}