我有一个继承自 WebControl 的简单类,如下所示:
public class Instrument : WebControl
{
private SpecialItem myItem = new SpecialItem("ABC");
protected override void Render(HtmlTextWriter output)
{
output.Write("<div>");
myItem.RenderControl(output);
output.Write("</div>");
}
}
将控件添加到网页后,会显示 SpecialItem ,但其内部的“Load”方法永远不会被触发,这会使其无法使用。如果我自己使用SpecialItem控件,那么它按预期工作。如何从SpecialItem控件中执行load方法?
答案 0 :(得分:2)
将myItem
添加到自定义控件的Controls
集合中。您通常通过重写方法CreateChildControls
来执行此操作(以及实例化子控件):
protected override void CreateChildControls()
{
myItem = new SpecialItem("ABC");
Controls.Add(myItem);
}