gridview编辑问题

来源:百度知道 编辑:UC知道 时间:2024/06/08 23:57:06
对于.."弹出无法将类型为“System.Web.UI.WebControls.DataControlLinkButton”的对象强制转换为类型“System.Web.UI.WebControls.TextBox”。"的问题怎么解决。谢谢
string StrTel =((TextBox)this.GridView1.Rows[e.RowIndex].Cells[1].Controls[0]).Text.ToString();
这句话出错
在这个事件里
protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
int a=e.RowIndex;
string StrName = this.GridView1.DataKeys[e.RowIndex][0].ToString();
string StrTel = ((TextBox)this.GridView1.Rows[e.RowIndex].Cells[2].Controls[0]).Text.ToString();
}
因为按照网上视频来写的。我就不知道为什么我老出错。
今天运行又发现行问题this.GridView1.Rows[e.RowIndex].Cells[2].Controls[0]指定的参数已超出有效值的范围。我调试一下Controls.Count是0.
问题多多,请帮帮忙。
一起解决吧!!!

这表示你获取到的控件的类型是一个LinkButton,而不是一个TextBox控件。如果要是获取TextBox,可以使用FindControl的方法进行寻找! 在你那句话前面似乎还需要加上一个判断句,适用于判断当前的GridView的状态,是显示状态还是编辑状态!如果是显示状态,那个用于编辑的TextBox还没有被加载,因此是找不到的。不清楚你这段代码是在哪个事件里面!问题给的还不是特别的完整。