我在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之间的冲突,但是我不知道在哪里。
有什么想法可以捕捉到这个异常并处理它吗?
发布于 2012-12-02 15:13:37
问题出在使用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已经有了一个。
https://stackoverflow.com/questions/13666966
复制相似问题