无法将类型“字符串”隐式转换为“System.Web.UI.WebControls.TextBox”
本文关键字:字符串 Web System TextBox WebControls UI 类型 转换 | 更新日期: 2023-09-27 18:07:07
int userid = Convert.ToInt32(GridView1.DataKeys[e.RowIndex].Value.ToString());
TextBox textname= ((System.Web.UI.WebControls.TextBox(GridView1.Rows[e.RowIndex].Cells[1].Controls[1])).Text;
TextBox textdob = (((System.Web.UI.WebControls.TextBox)(GridView1.Rows[e.RowIndex].Cells[2].Controls[1]))).Text;
TextBox textrole = ((System.Web.UI.WebControls.ListControl)(((System.Web.UI.WebControls.DropDownList)(((System.Web.UI.Control)(GridView1.Rows[e.RowIndex].Cells[3].Controls[1])))))).SelectedIndex.ToString();
收到该错误文本框文本名称 文本框文本 文本框文本
试试
textname.Text = ((System.Web.UI.WebControls.ListControl)(((System.Web.UI.WebControls.DropDownList)(((System.Web.UI.Control)(GridView1.Rows[e.RowIndex].Cells[3].Controls[1])))))).SelectedIndex.ToString();
不能将字符串添加到文本框本身
看看下面的代码行
TextBox textname = ((System.Web.UI.WebControls.TextBox)(GridView1.Rows[e.RowIndex].Cells[1].Controls[1])).Text;
((System.Web.UI.WebControls.TextBox)(GridView1.Rows[e.RowIndex].Cells[1].Controls[1])).Text
是一个字符串,但你把它分配给textname
,这是一个TextBox
,所以这就是你得到错误的原因。
将上面的代码更改为下面
TextBox textname = (System.Web.UI.WebControls.TextBox)(GridView1.Rows[e.RowIndex].Cells[1].Controls[1]);
然后你可以通过这种方式获取文本
string name = txtname.Text;
同样的事情适用于第二个文本框
TextBox textdob = (System.Web.UI.WebControls.TextBox)(GridView1.Rows[e.RowIndex].Cells[2].Controls[1]);
// get the dob
string dbo = textdob.Text;
对于下拉列表,您必须将其分配给DropDownList
而不是TextBox
DropDownList ddlRole = (System.Web.UI.WebControls.DropDownList)(GridView1.Rows[e.RowIndex].Cells[3].Controls[1]);
// get the selected index
int selectedRoleIndex = ddlRole.SelectedIndex;