我应该如何将事件附加到已更改的值
本文关键字:事件 我应该 | 更新日期: 2023-09-27 17:58:30
我希望能够使用一个事件添加数字字段,因为我已经有50多个了。我不想在每个字段中添加事件。有更好的方法吗。此外,我似乎无法让sumEarnings被编译器重新配置,有人有什么建议吗。
protected void Page_Load(object sender, EventArgs e)
{
wagesnET.ValueChanged += sumEarnings();
}
protected void btnSave_Click(object sender, EventArgs e)
{
StringDictionary KeyValue = new StringDictionary();
KeyValue.Add("", "");
foreach (string key in Request.Form)
{
if (!key.StartsWith("checkbox")) continue;
}
}
private void sumEarnings(object sender, EventArgs e)
{
int total = Convert.ToInt16(wagesnET.Text) + Convert.ToInt16(partnerearningscic.Text);
return total;
}
sumEarnings是一个没有返回类型的方法,将其更改为
private int sumEarnings()
{
return Convert.ToInt16(wagesnET.Text) + Convert.ToInt16(partnerearningscic.Text);
}
若要从代码中将其附加到多个控件,可以使用枚举器。例如:
foreach (Control c in this.Controls)
{
//if (c is TextBox)
c.ValueChanged += sumEarnings();
}
您需要从事件处理程序分配中删除()
:
wagesnET.ValueChanged += sumEarnings;
计算出新的总值后,请选择适当的控件:
private void sumEarnings(object sender, EventArgs e)
{
int total = Convert.ToInt16(wagesnET.Text) + Convert.ToInt16(partnerearningscic.Text);
// todo: update the total value...
}
不可能有一个同时返回值的事件处理程序。