img waterboy

Tips for writing ASP.NET composite controls

发表于2004/10/22 17:39:00  1076人阅读

Here are some tips I picked up in a Microsoft newsgroup regarding the creation of composite ASP.NET web controls.

1) My composite controls are created based on a property of my control. When the postback of a page occurs due to a button click, my CreateChildControls() method is called before the button code is executed, so if that button code changes the property in question it is already too late to reflect this in the control. Is there a way to "Invalidate" my control when this property is set so that it's child controls are recreated?

A) Yes, set ChildControlsCreate to false.

2) Dropping my control onto a design surface displays only a blank control, none of the composite controls are visible at all.

First add the following method in order to expose the functionality of a protected method in your component

public new void EnsureChildControls()

Next add the following attribute to your class

Finally, create a designer class like so

public class MyControlDesigner : ControlDesigner


public override String GetDesignTimeHtml()


( (MyControl) Control).EnsureChildControls();

return base.GetDesignTimeHtml();



0 0


取 消