【问题标题】:Create a server control from code behind using literalcontrol使用 literalcontrol 从后面的代码创建服务器控件
【发布时间】:2014-08-03 05:02:06
【问题描述】:

我实际上是在尝试从代码隐藏中创建一个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 创建服务器控件。

我该怎么做或在这种情况下最好的做法是什么?

【问题讨论】:

  • 这种方式不能创建控件。

标签: c# asp.net


【解决方案1】:

LiteralControl 的目的是向客户端发送文字 HTML。相反,您希望将TextBox 控件添加到Panel

Panel pnl = new Panel();
pnl.Controls.Add(new LiteralControl("<label>SomeBanner: </label>"));

TextBox tb = new TextBox();
tb.ID = "TextBox1";
pnl.Controls.Add(tb);

当您使用它时,我很想将Label 控件用于您的“SomeBanner”文本。这将让您将LabelTextbox (Label.AssociatedControlID) 关联起来,这对最终用户的可用性有一些好处。

【讨论】:

  • 谢谢@Matthew Hougen,我知道你在这里指定的这种方式,但我需要通过 c# 发送 HTML 代码来创建服务器控件。
  • @Poyson1 根据定义,您不能发送创建服务器控件的客户端 HTML。你希望得到什么结果?当我们在处理它时,这段代码的结果与您想要的结果有何不同?
  • 看,我正在做的是创建一个带有一些自定义服务器控件的工具栏,例如“日期从日期到”、品脱、导出到 pdf 等,然后创建 datetimepiker 我m 使用来自 OboutInc (Calendar) 的第三方控件,但他们不允许创建其对象之一的实例,而只能将控件粘贴到 html 上。如果他们让我做一个像 class obj = new class 这样的实例,我已经完成了,但他们没有。
  • 你好@Matthew Hougen,看,最后在我正在创建的工具栏中,我需要一个日历到一个文本框中,就像这样asp.net/ajaxlibrary/act_calendar.ashx 但我需要从后面的代码中完成,而不是粘贴控件在 html 源代码上。
猜你喜欢
  • 2013-03-18
  • 2016-06-24
  • 2011-11-19
  • 1970-01-01
  • 1970-01-01
  • 2019-06-25
  • 1970-01-01
  • 1970-01-01
  • 2019-05-05
相关资源
最近更新 更多