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已經有一個。