在网格视图中选中复选框时计算金额

本文关键字:计算 金额 复选框 网格 视图 | 更新日期: 2024-09-21 18:06:54

protected void ChkPayment_CheckChanged(object sender, EventArgs e)
{
    foreach (GridViewRow gvrow in grvPaymentList.Rows)
    {
        var Selection = gvrow.FindControl("ChkSelected") as CheckBox;
        decimal Total=0;
        decimal abc=0;
        if (Selection.Checked)
        {
            var  moviePrice = gvrow.FindControl("MoviePrice") as Label ;
            abc = Convert.ToDecimal(moviePrice.Text);
        }
        Total = Total + abc;
        lblAmount.Text = Total.ToString();
    }        
}

选中复选框并合计标签中的金额。由于从字符串转换为十进制时出现错误,我如何实现它。

在网格视图中选中复选框时计算金额

您需要

在此处修复的 2 件事:

  1. moviePrice 变量的类型是标签,因此您无法将其转换为十进制。你应该改用moviePrice.Text。
  2. 计算总数时,它应该是总计 = 总计 + abc。

编辑:Total 变量需要在循环外部声明。现在发生的情况是,你在循环中声明变量,所以它在循环的每次迭代期间被重置。