C# 使用findcontrol在literalcontrol中查找控件
我有一个自定义控件,它在createchildcontrols方法中呈现许多literalcontrols。如下所示,添加了其他文字控件行,我在这里还没有解开C# 使用findcontrol在literalcontrol中查找控件,c#,.net,findcontrol,C#,.net,Findcontrol,我有一个自定义控件,它在createchildcontrols方法中呈现许多literalcontrols。如下所示,添加了其他文字控件行,我在这里还没有解开 this.Controls.Add(new LiteralControl(string.Format("<input type=\"text\" style=\"display:none\" value=\"{0}\" id=\"{1}\" name=\"{1}\" />", MediaId.ToString(), this.
this.Controls.Add(new LiteralControl(string.Format("<input type=\"text\" style=\"display:none\" value=\"{0}\" id=\"{1}\" name=\"{1}\" />", MediaId.ToString(), this.UniqueID)));
不幸的是,findcontrol根本找不到textbox,我想是因为就.net而言,它是一个literalcontrol,而不是textbox
现在我肯定可以更改createchildcontrols来实现这一点
TextBox tb = new TextBox();
tb.Text = this.MediaId.ToString();
tb.ID = this.UniqueID;
this.Controls.Add(tb);
但是由于我所做的其他限制,我不得不在其他地方改变更多的东西
有没有办法让findcontrol找到在文本中呈现的文本框,或者其他方法
谢谢
纳特
不幸的是,findcontrol没有
我想根本就找不到文本框吧
因为就.net而言
它是一个文字控件,而不是文本框
全部
这是正确的。您必须使用一些其他控件,如文本框。但是没有办法控制它的clientid,是吗?就webform框架而言,文本控件的内容被视为文本,而不是控件。
TextBox tb = new TextBox();
tb.Text = this.MediaId.ToString();
tb.ID = this.UniqueID;
this.Controls.Add(tb);