导出Excel后其他按钮失效

在SharePoint中,当在页面上点击Export to Excel按钮后,第一次它能实现该功能,当再次点击该按钮时,页面上的所有按钮将失效,仅仅再次刷新该页面时按钮才会有效,首先想到出现该问题肯定是在导出之后没有刷新该页面才会导致。

为了解决该问题,首先需要知道是什么原因导致,其实它是Moss的一个机制:在form 提交前,设置一个全局变量标识,防止重复提交,但是导出excel后的输出为二进制流,没有刷新页面,所以标识没有被重置,其他提交就被禁止了。

解决方案:

在查询按钮提交前设置:_spSuppressFormOnSubmitWrapper = true;

需要添加以下JS脚本,这里有2种方式,仅仅添加其中一种就能实现:

Script1:

 1 <script type="text/javascript" language="javascript">
 2 
 3     //sharepoint postback to work after clicking on telerik export to pdf
 4 
 5     if (typeof (_spBodyOnLoadFunctionNames) != 'undefined' && _spBodyOnLoadFunctionNames != null) {
 6 
 7         _spBodyOnLoadFunctionNames.push("supressSubmitWraper");
 8 
 9     }
10 
11     function supressSubmitWraper() {
12 
13         _spSuppressFormOnSubmitWrapper = true;
14 
15     }
16 
17 </script>
View Code

Script2:

1 <script type="text/javascript"> 
2 
3         $('input[id*=ExportToExcelButton]').click(function () { 
4 
5             window.WebForm_OnSubmit = function () { return true; } 
6 
7         }); 
8 
9 </script>
View Code


更多资料:http://www.a2zmenu.com/Blogs/SharePoint/Export-to-Excel-functionality-of-Telerik-RadGrid--is-not-working-in-SharePoint.aspx

    http://www.faisalmb.com/post/Controls-not-functional-after-Export-to-Excel-or-Export-to-PDF-of-Telerik-in-Sharepoint-Application-page.aspx

原文地址:https://www.cnblogs.com/mystar/p/3980929.html