InvalidOperationException,PageRequestManager不能多次初始化

时间:2012-12-02 06:24:54

标签: c# asp.net telerik dotnetnuke pagerequestmanager

我在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之间的冲突,但是我不知道在哪里。

任何捕获此异常并处理它的想法?

1 个答案:

答案 0 :(得分: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已经有一个。