--------------------------------------------------------------------------------指定的转换无效。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.InvalidCastException: 指定的转换无效。源错误:
行 201: //for(int i = 2;i<=NumCols-2;i++)
行 202: //{
行 203: TextBox CurrentTb= (TextBox)e.Item.Cells[2].Controls[0];
行 204: string ColValue = CurrentTb.Text;
行 205: cmm.Connection.Open();
源文件: c:\inetpub\wwwroot\webtest\webform1.aspx.cs 行: 203
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.InvalidCastException: 指定的转换无效。源错误:
行 201: //for(int i = 2;i<=NumCols-2;i++)
行 202: //{
行 203: TextBox CurrentTb= (TextBox)e.Item.Cells[2].Controls[0];
行 204: string ColValue = CurrentTb.Text;
行 205: cmm.Connection.Open();
源文件: c:\inetpub\wwwroot\webtest\webform1.aspx.cs 行: 203
2、Controls后面的index值看看有没有错,你确保是第1个吗?一般会有一个隐藏的Label,注意!
3、我一般都用模板列,这样就很简单了:
TextBox currentTb=(TextBox)e.Item.FindControl("模板列中的那个TextBox的名称");
...
这样可以避免你将来万一增了一列或者什么的,而要去修改Cells后面的值。而且更直观。