sys.invalidoperationException:控件已与该元素关联。在 DotNetNuke 中使用 Telerik Controls
sys.invalidoperationException:控件已与该元素关联。我正在使用 DotNetNuke 5.6.3。如果我点击编辑就会出现错误。我知道它与 AJAX 和脚本管理器有关,但我无法让它在 DotNetNeukt 中没有此错误的情况下运行。
这是我的代码:
<%@ 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>
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>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
好的,这是解决方案。我需要更换默认的脚本管理器。在 DotNetNuke.Library 项目的 DNN 核心 5.6.3 中,我对 AJAX.VB 进行了以下更改:
在第 46 行:
整个文件现在看起来像这样,一旦完成编辑,我重新编译并将新的 dll 添加到我的项目:
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: