2012-03-23 42 views
0

我有一个简单的类从的WebControl继承如下:加载的WebControl:Load方法从来没有发射

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得到显示,但其内部的“加载”方法从未被解雇,这使得它不可用。如果我自己使用SpecialItem控件,那么它按预期工作。你如何让SpecialItem控件的加载方法得到执行?

回答

2

myItem添加到您的自定义控件的Controls集合中。通常,您可以通过重写方法CreateChildControls做到这一点(以及实例化的子控件):

protected override void CreateChildControls() 
{ 
    myItem = new SpecialItem("ABC"); 
    Controls.Add(myItem); 
} 
+0

这奏效了,谢谢:) – jdecuyper 2012-03-23 19:47:17