我正在计算gridview价格字段值的总和,这是gridview的textboxchanged事件中的文本框。但是当光标到达此行时:total +=Convert.ToDecimal(mytextbox);
获取异常:输入字符串的格式不正确。这是我的gridviewtext更改的事件代码:
protected void txtPrice_OnTextChanged(object sender, System.EventArgs e)
{
decimal total = 0.0m;
foreach (GridViewRow gvr in GrdTabRow.Rows)
{
if (gvr.RowType == DataControlRowType.DataRow)
{
TextBox tb = gvr.FindControl("txtPrice") as TextBox;
string mytextbox = tb.ToString();
if (!mytextbox.Equals("") && mytextbox != null)
{
total +=Convert.ToDecimal(mytextbox);
}
}
GrdTabRow.FooterRow.Cells[2].Text = total.ToString();
}
}
答案 0 :(得分:2)
尝试:
string mytextbox = tb.Text.ToString();
total += Convert.ToDecimal(mytextbox);
ToString()我相信返回对象之间不同的对象表示,并不总是代表对象的特定值。有时它只会返回对象的完整限定名称.Text成员返回TextBox的值。 ToString()应该是可选的