NamingContainer Component Samples
Basic NamingContainer
Child controls get IDs prefixed with the container's ID separated by underscores.
Child IDs: SearchPanel_lblQuery, SearchPanel_txtQuery, SearchPanel_btnSearch
Nested NamingContainers
Multiple containers can be nested. Each level adds its ID as a prefix.
Child IDs: MainLayout_Sidebar_lblFilter, MainLayout_Sidebar_txtFilter, MainLayout_Content_lblTitle, MainLayout_Content_txtTitle, MainLayout_Content_btnSave
NamingContainer with UseCtl00Prefix
For full Web Forms compatibility, enable UseCtl00Prefix to prepend "ctl00" to the naming hierarchy.
Child IDs: ctl00_MainContent_lblEmail, ctl00_MainContent_txtEmail, ctl00_MainContent_btnRegister
NamingContainer with Visibility Control
NamingContainer supports Visible property to conditionally render child content.
When checked, child IDs appear: OptionalSection_lblAdvanced, OptionalSection_txtAdvanced
NamingContainer with Multiple Sections
Use multiple NamingContainers to organize different form sections.
Section 1 IDs: PersonalInfo_lblName, PersonalInfo_txtName, PersonalInfo_lblAge, PersonalInfo_txtAge
Section 2 IDs: ContactInfo_lblPhone, ContactInfo_txtPhone, ContactInfo_lblEmail, ContactInfo_txtEmail
Code Examples:
<!-- Basic NamingContainer -->
<NamingContainer ID="SearchPanel">
<Label ID="lblQuery" Text="Search:" />
<TextBox ID="txtQuery" />
<Button ID="btnSearch" Text="Search" />
</NamingContainer>
<!-- With UseCtl00Prefix for Web Forms compatibility -->
<NamingContainer ID="MainContent" UseCtl00Prefix="true">
<TextBox ID="txtEmail" />
<Button ID="btnSubmit" Text="Submit" />
</NamingContainer>
<!-- With Visibility Control -->
<NamingContainer ID="OptionalSection" Visible="showOptional">
<TextBox ID="txtAdvanced" />
</NamingContainer>