我实际上是尝试使用内部的服务器控件从代码隐藏创建Panel
,为此我使用LiteralControl
但LiteralControl
没有使用服务器控件,这就是我在这种情况下所需要的。我怎样才能做到这一点。请帮忙。
我有这样的事情:
Panel pnl = new Panel();
pnl.Controls.Add(new LiteralControl("<label>SomeBanner: </label>"));
pnl.Controls.Add(new LiteralControl("<asp:TextBox ID='TextBox1' runat='server' Width='65px'/>"));
正如我所说,第一个添加(标签)工作正常,但第二个添加不起作用,因为我试图使用不支持此操作的LiteralControl创建服务器控件。
我如何做到这一点或在这种情况下最佳做法是什么?
答案 0 :(得分:4)
LiteralControl
的目的是将文字HTML发送到客户端。相反,您希望向Panel
添加TextBox
控件。
Panel pnl = new Panel();
pnl.Controls.Add(new LiteralControl("<label>SomeBanner: </label>"));
TextBox tb = new TextBox();
tb.ID = "TextBox1";
pnl.Controls.Add(tb);
当你遇到它时,我很想用你的“SomeBanner”文本使用Label
控件。这样,您就可以将Label
和Textbox
(Label.AssociatedControlID
)相关联,这对最终用户的可用性有一些优势。