代码之家  ›  专栏  ›  技术社区  ›  Dafydd Giddins

Page.Parsecontrol 皈依者asp:textbox to 文本区域未输入

  •  0
  • Dafydd Giddins  · 技术社区  · 14 年前

    我在注射一些药物asp.net 控件添加到页中Page.ParseControl. 我按如下方式注入标记:

    Me.phScript.Controls.Add(Me.Page.ParseControl("<asp:TextBox runat=""server"" id=""txtAreaOfConcern"" TextMode=""multiline"" Rows=""5"" Width=""300"" MaxLength=""5"" />", True))
    

    <textarea name="txtAreaOfConcern" rows="5" cols="20" id="txtAreaOfConcern" style="width:300px;">
    

    按正常方式添加的文本框如下所示:

    <input name="_tbStaticInput" type="text" maxlength="20" id="_tbStaticInput" style="height:104px;width:263px;" />
    

    是否可以通过控件注入呈现输入,如果可以,如何实现?

    1 回复  |  直到 14 年前
        1
  •  1
  •   Coding Flow    14 年前

    如果在传递给ParseControl的字符串中将TextMode设置为multiline,则始终会得到一个textparea,TextBox控件就是这样工作的。如果您将其放在页面的标记中或实例化TextBox类并将TextMode属性设置为multiline,它也会做同样的事情。

    与您的问题无关,但动态创建控件似乎是一种奇怪的方式,您正在解析的文本是一个字符串文本,在任何方面都不是动态的。为什么不实例化一个TextBox类并设置属性,这样就可以在编译时检查是否将属性设置为有效值。按照您的方式,您的字符串可能会更改为“AnIvalidValue”,所有内容仍然可以正常编译,但您会得到一个运行时异常。