在计算gridview单元格总数时获取异常

时间:2011-05-23 06:12:30

标签: c#

在计算gridview单元格的总数时,我得到了这个异常: 输入字符串的格式不正确。

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

 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;
} 

3 个答案:

答案 0 :(得分:1)

你的TextBox TextBox1在其GridView的至少一行的text属性中有一个非十进制数字(可能是空白)。

答案 1 :(得分:0)

这样写:

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;
}

答案 2 :(得分:0)

要防止异常,请先检查以确保您有一个十进制数字。要在不抛出异常的情况下执行此操作,请使用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);
}