sys.invalidoperationexception: A control is already associated with the element. I am using DotNetNuke 5.6.3. The rror occurs if I click edit. I know it has something to do with AJAX, and the script manager, but I just cannot get it to function without this error in DotNetNeukt.
Here is my code:
<%@ Control language="C#" Inherits="my.Modules.ImageRotator.EditImageRotator" CodeFile="EditImageRotator.ascx.cs" AutoEventWireup="true"%>
<%@ Register TagPrefix="dnn" TagName="Label" Src="~/controls/LabelControl.ascx" %>
<%@ Register TagPrefix="dnn" TagName="TextEditor" Src="~/controls/TextEditor.ascx" %>
<%@ Register TagPrefix="dnn" TagName="Audit" Src="~/controls/ModuleAuditControl.ascx" %>
<%@ Register TagPrefix="telerik" Namespace="Telerik.Web.UI" Assembly="Telerik.Web.UI" %>
<ContentTemplate>
<telerik:RadGrid ID="RadGrid1" runat="server" AllowPaging="True"
AllowSorting="True" AutoGenerateDeleteColumn="True"
AutoGenerateEditColumn="True" CausesValidation="False" CellSpacing="0"
DataSourceID="SqlDataSource1" GridLines="None" RegisterWithScriptManager="true"
Skin="WebBlue">
<ClientSettings AllowColumnsReorder="True" ReorderColumnsOnClient="True">
<Selecting AllowRowSelect="True" />
</ClientSettings>
<MasterTableView AutoGenerateColumns="False" DataKeyNames="ItemID"
DataSourceID="SqlDataSource1">
<CommandItemSettings ExportToPdfText="Export to PDF" />
<RowIndicatorColumn FilterControlAltText="Filter RowIndicator column">
</RowIndicatorColumn>
<ExpandCollapseColumn FilterControlAltText="Filter ExpandColumn column">
</ExpandCollapseColumn>
<Columns>
<telerik:GridBoundColumn DataField="ModuleID" DataType="System.Int32"
FilterControlAltText="Filter ModuleID column" HeaderText="ModuleID"
SortExpression="ModuleID" UniqueName="ModuleID">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="ItemID" DataType="System.Int32"
FilterControlAltText="Filter ItemID column" HeaderText="ItemID" ReadOnly="True"
SortExpression="ItemID" UniqueName="ItemID">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="Content"
FilterControlAltText="Filter Content column" HeaderText="Content"
SortExpression="Content" UniqueName="Content">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="CreatedByUser" DataType="System.Int32"
FilterControlAltText="Filter CreatedByUser column" HeaderText="CreatedByUser"
SortExpression="CreatedByUser" UniqueName="CreatedByUser">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="CreatedDate" DataType="System.DateTime"
FilterControlAltText="Filter CreatedDate column" HeaderText="CreatedDate"
SortExpression="CreatedDate" UniqueName="CreatedDate">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="Link"
FilterControlAltText="Filter Link column" HeaderText="Link"
SortExpression="Link" UniqueName="Link">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="SortOrder" DataType="System.Int32"
FilterControlAltText="Filter SortOrder column" HeaderText="SortOrder"
SortExpression="SortOrder" UniqueName="SortOrder">
</telerik:GridBoundColumn>
</Columns>
<EditFormSettings>
<EditColumn FilterControlAltText="Filter EditCommandColumn column">
</EditColumn>
</EditFormSettings>
</MasterTableView>
<FilterMenu EnableImageSprites="False">
</FilterMenu>
<HeaderContextMenu CssClass="GridContextMenu GridContextMenu_Default">
</HeaderContextMenu>
</telerik:RadGrid>
</ContentTemplate>
<br />
<asp:linkbutton cssclass="CommandButton" id="cmdUpdate" OnClick="cmdUpdate_Click" resourcekey="cmdUpdate" runat="server" borderstyle="none" text="Update" CausesValidation="False"></asp:linkbutton>
<asp:linkbutton cssclass="CommandButton" id="cmdCancel" OnClick="cmdCancel_Click" resourcekey="cmdCancel" runat="server" borderstyle="none" text="Cancel" causesvalidation="False"></asp:linkbutton>
<asp:linkbutton cssclass="CommandButton" id="cmdDelete" OnClick="cmdDelete_Click" resourcekey="cmdDelete" runat="server" borderstyle="none" text="Delete" causesvalidation="False"></asp:linkbutton>
</div>
<dnn:audit id="ctlAudit" runat="server" />
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:ImageRotatorConnectionString %>"
SelectCommand="SELECT * FROM [ImageRotator]"></asp:SqlDataSource>
OK, here is the solution. I needed to replace the default script manager. In the DNN core 5.6.3 in the DotNetNuke.Library projet, I made the following change to AJAX.VB :
at line 46:
The whole file now looks like this, once I completed the edit I recompiled and added my new dll to my project: