public class TextBoxDerived : System.Web.UI.WebControls.TextBox
{
protected override void OnLoad(EventArgs e)
{
this.Controls.Add(new LiteralControl("Hello"));
}
}
以上代码似乎没有做任何事情?
我希望像
这样的东西Hello
<input type"textbox" />
以HTML格式呈现。
答案 0 :(得分:1)
TextBox
不是CompositeControl
,因此儿童不会自动呈现。
例如,您可以做的是覆盖Render
方法并预先手动渲染控件。
如果您希望提供文本框标签而不是某些文字内容,那么使用带有HtmlGenericControl
或span
标记的div
会更合适,为了自动呈现转义文本。
protected override void Render(HtmlTextWriter writer)
{
var label = new HtmlGenericControl("span");
label.InnerText = "Hello";
label.RenderControl(writer);
base.Render(writer);
}