C# 使用findcontrol在literalcontrol中查找控件

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.

我有一个自定义控件,它在createchildcontrols方法中呈现许多literalcontrols。如下所示,添加了其他文字控件行,我在这里还没有解开

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);