New to Telerik UI for ASP.NET AJAX? Start a free 30-day trial
Accessing Controls Inside Templates
Updated on Aug 24, 2026
If your RadMenu has items with templates that have embedded controls, you may want to access the properties of those embedded controls. To get a reference to the embedded control, locate the RadMenuItem that has the template, and use its FindControl method.
For example, consider the following, very simple, menu:
ASP.NET
<telerik:RadMenu RenderMode="Lightweight" ID="RadMenu1" runat="server" Flow="Horizontal">
<Items>
<telerik:RadMenuItem runat="server" ExpandMode="ClientSide" Text="Color">
<Items>
<telerik:RadMenuItem runat="server" ExpandMode="ClientSide" Text="ColorPicker">
<ItemTemplate>
<telerik:RadColorPicker RenderMode="Lightweight" ID="RadColorPicker1" runat="server" Preset="Standard" ShowEmptyColor="False">
</telerik:RadColorPicker>
</ItemTemplate>
<GroupSettings ExpandDirection="Auto" Flow="Vertical" />
</telerik:RadMenuItem>
</Items>
<GroupSettings ExpandDirection="Auto" Flow="Vertical" />
</telerik:RadMenuItem>
</Items>
</telerik:RadMenu>
To access the RadColorPicker in the item template, use the following code:
Server-side access
C#
RadMenuItem colorItem = RadMenu1.FindItemByText("ColorPicker");
RadColorPicker colors = (RadColorPicker)colorItem.FindControl("RadColorPicker1");Client-side access
JavaScript
var menu = $find("<%= RadMenu1.ClientID %>"); var item = menu.findItemByText("ColorPicker");
var datePicker = item.findControl("RadColorPicker1");
or
JavaScript
var datePicker = $find('<%= RadMenu1.FindItemByText("ColorPicker").FindControl("RadColorPicker1").ClientID %>');