【发布时间】:2014-05-05 11:28:43
【问题描述】:
我有 2 个文本框和一个标签。两个文本框都有相同的事件处理程序,它对任何文本框都是通用的。问题是当我尝试将文本框中的两个值都添加到全局变量时,我只显示了最新修改的文本框中的值?
两个文本框都有AutoPostBack="True"
我在这里做错了什么?
public partial class _Default : System.Web.UI.Page
{
int total;
protected void Page_Load(object sender, EventArgs e)
{
}
protected void textbox_TextChanged(object sender, EventArgs e)
{
TextBox tb = (TextBox)sender;
total += int.Parse(tb.Text);
Label1.Text = total.ToString();
}
}
【问题讨论】:
-
在您的代码中,我只看到您访问一个文本框,另一个在哪里?你能告诉我你的ASPX吗?您最好使用 JQuerey 并更新一个隐藏的文本框?我不认为 SENDER 可以保存“两个”对象,它很可能会保存上次更改的对象...如果您走那条路线,您可能会使用 WebMethods 来触发服务器端操作..我可以帮助您。
-
这个事件我的意思是对我可能使用的任何文本框都是通用的...这是我的简单示例,但我必须有 30 个这样的事件,而且都是不同的类别。所以我这样做? (TextBox)sender 是个坏主意?
-
我认为这是个坏主意,请使用 JQuerey 和 WebMethods,如果您需要帮助,请告诉我
-
我认为在服务器端管理 30 多个服务器实际上可能很慢?如果您所做的只是计算总数,则使用 JavaScript 进行计算,然后在您想使用该总数变量执行服务器端操作时调用 WebMethod...
-
搜索“ASP.Net - 如何在回发之间存储价值”,您应该会在结果中找到答案。