我需要能够在运行时将文本框(在gridview行内)文本设置为某个字符串。我之前使用过FindControl,但无法弄清楚实际设置文本框值的语法而不仅仅是获取。这就是我所拥有的,无法编译的内容:
((TextBox)e.Row.FindControl("txtPath")).Text = dataMap.GetString("targetPath"));
我很感激任何帮助
由于
答案 0 :(得分:2)
这会有用吗?
(e.Row.FindControl("txtPath") as TextBox).Text = dataMap.GetString("targetPath");
编辑:其实我喜欢这比我原来的帖子更好:
TextBox txtPath = (TextBox)e.Row.FindControl("txtPath");
if(txtPath != null)
txtPath.Text = dataMap.GetString("targetPath");
答案 1 :(得分:0)
它没有编译的原因是因为看起来你在GetString()函数的末尾有一个额外的结束括号。
试试这个:
((TextBox)e.Row.FindControl("txtPath")).Text = dataMap.GetString("targetPath");
最佳做法是检查TextBox是否为空,但不是必需的。