gridview 更新出错

来源:百度知道 编辑:UC知道 时间:2024/09/24 10:24:46
现在我用gridview空间添加了多个表的字段,都能显示,而且有两个字段我用dropdownlist空间绑定了数据库中的一个字段,能显示,不过现在要命的是,每当我运行编辑按纽,然后修改字段点击更新按钮时总是弹出“无法将类型为“System.Web.UI.LiteralControl”的对象强制转换为类型“System.Web.UI.WebControls.TextBox”错误,我不知道是怎么回事,这两天帮别人做个管理系统我都累死了,而且我的分数也被用完了,先谢谢各位了!
protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
sqlcon = new SqlConnection(strCon);
string sqlstr = "update 项目基本信息 set 法人代码='"
+ ((TextBox)(GridView1.Rows[e.RowIndex].Cells[0].Controls[0])).Text.ToString().Trim() +"',主管科室='"
+ ((DropDownList)(GridView1.Rows[e.RowIndex].Cells[1].Controls[0])).SelectedItem .ToString ().Trim () + "' ,项目名称='"
+ ((TextBox)(GridView1.Rows[e.RowIndex].Cells[2].Controls[0])).Text.ToString().Trim() + "' ,"'where 项目编号='" + GridView1.DataKeys[e.RowIndex].Value.ToString() + "'"; 这是我更新按钮的代码 楼下的那位,用findcontrl如何实现,请明示!

数据类型有错误吧!
修改赋值时可能类型不一样!好好找找

应该是GridView1.Rows[e.RowIndex].Cells[2].Controls[0]和GridView1.Rows[e.RowIndex].Cells[0].Controls[0]转换成textbox控件时出错了
这两个在编辑状态下才是textbox控件,
你必须用FindControl

能进行强制转换的类或对象都是有关系的
也就是说需要两个class有继承关系
没有继承关系的class是不能进行强制转换的,因此转换时就会出错。

无语 应该是类型那个出错了!