0

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

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

我会很感激任何帮助

谢谢

4

2 回答 2

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");
于 2010-10-25T22:29:24.543 回答
0

它不编译的原因是因为看起来您在 GetString() 函数的末尾有一个额外的右括号。

尝试这个:

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

最佳做法是检查 TextBox 是否不为空,但不是必需的。

于 2010-10-27T08:24:03.983 回答