使用literalcontrol从后面的代码创建服务器控件

时间:2014-08-03 05:02:06

标签: c# asp.net

我实际上是尝试使用内部的服务器控件从代码隐藏创建Panel,为此我使用LiteralControlLiteralControl没有使用服务器控件,这就是我在这种情况下所需要的。我怎样才能做到这一点。请帮忙。

我有这样的事情:

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创建服务器控件。

我如何做到这一点或在这种情况下最佳做法是什么?

1 个答案:

答案 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控件。这样,您就可以将LabelTextboxLabel.AssociatedControlID)相关联,这对最终用户的可用性有一些优势。