2010-10-25 74 views
0

我需要能够在运行时将文本框(它位于gridview行内)文本设置为某个字符串。我以前使用过FindControl,但无法弄清楚实际设置文本框的值而不是仅仅是获取的语法。下面是我有什么,这并不编译:使用FindControl设置文本框的文本

((TextBox)e.Row.FindControl("txtPath")).Text = dataMap.GetString("targetPath")); 

我会很感激的任何帮助

感谢

回答

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"); 
0

它不会编译的原因是因为它看起来像你对最终一个额外的右括号的GetString()函数。

试试这个:

((TextBox)e.Row.FindControl("txtPath")).Text = dataMap.GetString("targetPath"); 

这是检查文本框不为空,但不是必需的最佳实践。

相关问题