New to Telerik UI for ASP.NET AJAX? Download free 30-day trial

Resolving The Controls collection cannot be modified Exception in ASP.NET Web Forms

Environment

Product Progress® Telerik® UI for ASP.NET AJAX
Version 2023.3.1010

Description

I am encountering the following exception when running an ASP.NET Web Forms application:

The Controls collection cannot be modified because the control contains code blocks (i.e. <% ... %>).
[HttpException (0x80004005): The Controls collection cannot be modified because the control contains code blocks (i.e. <% ... %>).]
   System.Web.UI.ControlCollection.Add(Control child) +8677431
   Telerik.Web.SkinRegistrar.RegisterCssReference(Page _page, Control _control, String _url) +257

Solution

To resolve the "The Controls collection cannot be modified" exception in ASP.NET Web Forms when adding a Telerik control, follow these steps:

1. Check for any <% ... %> code blocks in the <head> tag of the default.aspx or related master pages and user controls. 2. If you find any code blocks, wrap the <link> and <script> tags in <telerik:RadScriptBlock> tags.

<head runat="server">
    <telerik:RadScriptBlock ID="RadScriptBlock1" runat="server">
        <link rel="stylesheet" href="<%=Page.ResolveUrl("~/Styles/global.css")%>" type="text/css" />
        <link rel="stylesheet" href="<%=Page.ResolveUrl("~/Styles/styles2.css")%>" type="text/css" />
    </telerik:RadScriptBlock>
    <telerik:RadScriptBlock ID="RadScriptBlock2" runat="server">
        <script src="<%=Page.ResolveUrl("~/Scripts/jquery-3.5.1.min.js")%>" type="text/javascript"></script>
        <script src="<%=Page.ResolveUrl("~/Scripts/dialog.js")%>" type="text/javascript"></script>
    </telerik:RadScriptBlock>
</head>

If using <telerik:RadScriptBlock> does not solve the problem, replace it with <telerik:RadCodeBlock> tags.

3. Alternatively, you can try moving the code block(s) out of the <head> tag and place them inside the <body> tag.

By following these steps, you will resolve the "The Controls collection cannot be modified" exception in ASP.NET Web Forms when adding a Telerik control.

In this article