在标签处添加2个列表框和sum显示



我想问一下如何添加两个列表框和总和是在标签:

当我选中第一个列表框时,它求和,但当我选中另一个复选框时,标签重置为0,并在第二个列表框中求和其他数字,我选中

My code on first listbox:
protected void add(object sender, EventArgs e)
{
int sum = 0;
int test = Int32.Parse(lbl_.Text);
for (int j = 0; j <= pizzalist.Items.Count - 1; j++)
{
if (pizzalist.Items[j].Selected)
{
test += Convert.ToInt32(pizzalist.Items[j].Value);
}
}
lbl_.Text = test.ToString();
My 2nd code in other listbox:
protected void Button5_Click(object sender, EventArgs e)
{
int sum = 0;
//   for (int j = 0; j <= waterlist.Items.Count - 1; j++)
for (int j = 0; j <=  waterlist.Items.Count -1; j++)
{
if (waterlist.Items[j].Selected)
{
sum += Convert.ToInt32(waterlist.Items[j].Value);
}
}

lbl_.Text = sum.ToString();
}

几点:

  1. 你需要在第二个函数中读取标签并添加sum变量以使其按预期工作-现在你正在改变标签而不检查它的值;更多:你可以试着用项目的总和来创建全局变量
  2. 使用TryParse,或者至少用try-catch解析,Convert是一个弱的主意
  3. 尝试使用foreach代替for
  4. 你甚至可以使用Linq来快速求和所选项目

最新更新