使用FindControl _Setting_文本框的文本

时间:2010-10-25 22:21:27

标签: c# asp.net gridview textbox findcontrol

我需要能够在运行时将文本框(在gridview行内)文本设置为某个字符串。我之前使用过FindControl,但无法弄清楚实际设置文本框值的语法而不仅仅是获取。这就是我所拥有的,无法编译的内容:

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

我很感激任何帮助

由于

2 个答案:

答案 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是否为空,但不是必需的。