在SharePoint中,当在页面上点击Export to Excel按钮后,第一次它能实现该功能,当再次点击该按钮时,页面上的全部按钮将失效,仅仅再次刷新该页面时按钮才会有效,首先想到出现该问题确定是在导出以后没有刷新该页面才会致使。javascript
为了解决该问题,首先须要知道是什么缘由致使,其实它是Moss的一个机制:在form 提交前,设置一个全局变量标识,防止重复提交,可是导出excel后的输出为二进制流,没有刷新页面,因此标识没有被重置,其余提交就被禁止了。java
解决方案:app
在查询按钮提交前设置:_spSuppressFormOnSubmitWrapper = true;ide
须要添加如下JS脚本,这里有2种方式,仅仅添加其中一种就能实现:post
Script1:spa
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>
Script2:excel
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>