我需要能够在运行时将文本框(它位于gridview行内)文本设置为某个字符串。我以前使用过FindControl,但无法弄清楚实际设置文本框的值而不是仅仅是获取的语法。下面是我有什么,这并不编译:使用FindControl设置文本框的文本
((TextBox)e.Row.FindControl("txtPath")).Text = dataMap.GetString("targetPath"));
我会很感激的任何帮助
感谢
我需要能够在运行时将文本框(它位于gridview行内)文本设置为某个字符串。我以前使用过FindControl,但无法弄清楚实际设置文本框的值而不是仅仅是获取的语法。下面是我有什么,这并不编译:使用FindControl设置文本框的文本
((TextBox)e.Row.FindControl("txtPath")).Text = dataMap.GetString("targetPath"));
我会很感激的任何帮助
感谢
将这项工作?
(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");
它不会编译的原因是因为它看起来像你对最终一个额外的右括号的GetString()函数。
试试这个:
((TextBox)e.Row.FindControl("txtPath")).Text = dataMap.GetString("targetPath");
这是检查文本框不为空,但不是必需的最佳实践。