在gridview中绑定了一个textbox,用((TextBox)(GridView1.Rows[e.RowIndex].Cells[1].Controls[0])).Text.ToString().Trim()获取textbox控件中的值时报错,说是:无法将类型为“System.Web.UI.LiteralControl”的对象强制转换为类型“System.Web.UI.WebControls.TextBox”,将上面的写法改为:((TextBox)(GridView1.Rows[e.RowIndex].Cells[1].FindControl("TextBox1"))).Text.ToString().Trim()后,又报错说是“未将对象的引用设置到对象的实例” ,最后将其改为:((TextBox)(GridView1.Rows[i].Cells[1].Controls[0]).FindControl("TextBox1")).Text.Trim ().ToString ()),运行成功!想了一下,确实有道理,(TextBox)(GridView1.Rows[i].Cells[1].Controls[0])是强制类型转换,转换为textbox控件,后面再跟findcontrol(),找到特定的textbox1控件,然后获取其值。
无法将类型为“System.Web.UI.LiteralControl”的对象强制转换为类型“System.Web.UI.WebControls.TextBox”的解决方法
最新推荐文章于 2020-09-22 14:19:11 发布