1

我在 Dotnetnuke 自定义模块中使用 Telerik 控件,所有 ajax 控件都发生了问题,结果是每次回发请求而不是 Ajax 请求。

在 Firebug 我可以看到,

Sys.InvalidOperationException: Sys.InvalidOperationException: The PageRequestManager cannot be initialized more than once.

异常来源是Telerik.Web.UI.WebResource.axd

我知道这不是 Telerik 本身,而是 Telerik 和 DOTNETNUKE AJAX 之间的冲突,但是我不知道在哪里。

有什么想法可以捕捉到这个异常并处理它?

4

1 回答 1

2

问题是使用telerik:RadScriptManager

我已使用以下代码为 RadGrid 导入 Excel 工作,

        <telerik:RadScriptManager ID="RadScriptManager1" runat="server">
    </telerik:RadScriptManager>
    <script type="text/javascript">
        Sys.WebForms.PageRequestManager.getInstance().add_initializeRequest(initRequest);
        function initRequest(sender, args) {
            if (args.get_postBackElement().id.indexOf("ExportTo") != -1) {
                args.set_cancel(true);  //stop async request
                sender._form["__EVENTTARGET"].value = args.get_postBackElement().id.replace(/\_/g, "$");
                sender._form["__EVENTARGUMENT"].value = "";
                sender._form.submit();
                return;
            }
        }

解决方案是删除多余的 RadScriptManager,因为 Dotnetnuke 已经有一个。

于 2012-12-02T07:13:36.813 回答