Honestly, this is necessary when your control has a child with an identifier. If you can use multiple instances of your control on the same page, you should tag your control with the INamingContainer interface. This is the most cenarii for CompositeControls , so it got INamingContainer by default.
source share