计算网格视图单元格总数时出现异常

本文关键字:异常 网格 视图 单元格 计算 | 更新日期: 2023-09-27 17:57:28

在计算网格视图单元格总数时,我得到了以下异常:输入字符串的格式不正确

这是我的代码:任何帮助请:

 public decimal GetTotal()
 {
  decimal total = 0;
  foreach (GridViewRow _row in GridView1.Rows)
  {
  TextBox txt = (TextBox)_row.FindControl("TextBox1");
  total +=decimal.Parse( txt.Text);
  }
  return total;
} 

计算网格视图单元格总数时出现异常

您的TextBox TextBox1在GridView的至少一行中的文本属性中有一个非十进制数字(可能为空)。

这样写:

public decimal GetTotal() 
{  
    decimal total = 0;  
    foreach (GridViewRow _row in GridView1.Rows)  
    {  
        TextBox txt = (TextBox)_row.FindControl("TextBox1");  
        decimal decimalValue;
        if (decimal.TryParse(txt.Text, out decimalValue))
        {
            total += decimal.Parse(txt.Text);  
        }
    }  
    return total;
}

要防止出现异常,请首先检查以确保您有一个十进制数。要在不引发异常的情况下执行此操作,请使用TryParse方法:

foreach (GridViewRow _row in GridView1.Rows)
{
TextBox txt = (TextBox)_row.FindControl("TextBox1");
decimal value;
if (decimal.TryParse(txt.Text, out value)
    total +=decimal.Parse( txt.Text);
}