导出Excel后其他按钮失效

时间:2024-10-11 21:05:38

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

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

解决方案:

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

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

Script1:

 <script type="text/javascript" language="javascript">

     //sharepoint postback to work after clicking on telerik export to pdf

     if (typeof (_spBodyOnLoadFunctionNames) != 'undefined' && _spBodyOnLoadFunctionNames != null) {

         _spBodyOnLoadFunctionNames.push("supressSubmitWraper");

     }

     function supressSubmitWraper() {

         _spSuppressFormOnSubmitWrapper = true;

     }

 </script>

Script2:

 <script type="text/javascript"> 

         $('input[id*=ExportToExcelButton]').click(function () { 

             window.WebForm_OnSubmit = function () { return true; } 

         }); 

 </script>

更多资料: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