【问题标题】:_Setting_ textbox's text using FindControl_Setting_ 文本框的文本使用 FindControl
【发布时间】:2010-10-25 22:21:27
【问题描述】:
我需要能够在运行时将文本框(位于 gridview 行内)文本设置为某个字符串。我以前使用过 FindControl,但无法弄清楚实际设置文本框值的语法,而不仅仅是获取。这是我所拥有的,但无法编译:
((TextBox)e.Row.FindControl("txtPath")).Text = dataMap.GetString("targetPath"));
如果有任何帮助,我将不胜感激
谢谢
【问题讨论】:
标签:
c#
asp.net
gridview
textbox
findcontrol
【解决方案1】:
这行得通吗?
(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");
【解决方案2】:
它无法编译的原因是因为看起来您在 GetString() 函数的末尾有一个额外的右括号。
试试这个:
((TextBox)e.Row.FindControl("txtPath")).Text = dataMap.GetString("targetPath");
最好检查 TextBox 是否不为空,但不是必需的。