我希望能够使用一个事件来添加数字字段,因为我有超过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;
}
答案 0 :(得分:0)
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();
}
答案 1 :(得分:0)
您需要从事件处理程序分配中删除()
:
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...
}
不可能有一个同时返回值的事件处理程序。