我需要能够在运行时将文本框(位于 gridview 行内)文本设置为某个字符串。我以前使用过 FindControl,但无法弄清楚实际设置文本框值的语法,而不仅仅是获取。这是我所拥有的,但无法编译:
((TextBox)e.Row.FindControl("txtPath")).Text = dataMap.GetString("targetPath"));
我会很感激任何帮助
谢谢
我需要能够在运行时将文本框(位于 gridview 行内)文本设置为某个字符串。我以前使用过 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");
最佳做法是检查 TextBox 是否不为空,但不是必需的。