I found the answer.
Only controls which inherits from TemplateControl
, which implements the INamingContainer
interface.
and obviously <div runat server>
is not one of them.
i.e. UserControl
:
public class UserControl : TemplateControl, IAttributeAccessor, INonBindingContainer, INamingContainer, IUserControlDesignerAccessor
{...}
i.e. ContentPlaceHolder
:
public class ContentPlaceHolder : Control, INonBindingContainer, INamingContainer
{...}
and here I can see all those controls :