2012-12-02 57 views
1

我在DotNetnuke自定义模块中使用Telerik控件, 所有ajax控件都发生了问题,结果是每次都发送一个回发请求,而不是Ajax请求。InvalidOperationException,PageRequestManager不能初始化多次

在Firebug中,我可以看到,

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

外源Telerik.Web.UI.WebResource.axd

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

任何想法来捕捉这个异常并处理它?

回答

2

的问题是使用telerik:RadScriptManager

我用下面的代码来获取Excel导入的radgrid控件的工作,

 <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已经有一个。