取得一些成功后,我正在使用this suggested code将gridview导出为CSV(或者在我的情况下是TSV)。
我单击我的按钮,页面后面的帖子和TSV已交付。大。
然而,在该回发之后没有其他控件(autopostback设置为true的下拉列表和按钮 - 一个提交另一个javascript触发的回发按钮)将回发到服务器。
可能的线索:查看Google Chrome网络标签,CSV的POST被视为“已取消”。
如果他们提供任何帮助,这里是CSV的REQUEST和RESPONSE标题 - 我已经删除了一些与安全相关的内容:
REQUEST:
POST /Perspective/SitePages/User_Email_List.aspx HTTP/1.1
Host: as-sharepoint
Connection: keep-alive
Content-Length: 8740
Cache-Control: max-age=0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Origin: http://as-sharepoint
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22
Content-Type: application/x-www-form-urlencoded
DNT: 1
Referer: http://as-sharepoint/Perspective/SitePages/User_Email_List.aspx
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-GB,en-US;q=0.8,en;q=0.6
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
Cookie: WSS_KeepSessionAuthenticated={xxx}
响应:
HTTP/1.1 200 OK
Cache-Control: private
Transfer-Encoding: chunked
Content-Type: application/text
Server: Microsoft-IIS/7.5
SPRequestGuid: xxx
Set-Cookie: WSS_KeepSessionAuthenticated={xxx}; path=/
X-SharePointHealthScore: 1
Set-Cookie: WSS_KeepSessionAuthenticated={xxx}; path=/
Content-Disposition: attachment;filename=EmailList.tsv
X-AspNet-Version: 2.0.50727
X-Powered-By: ASP.NET
MicrosoftSharePointTeamServices: 14.0.0.4762
Date: Tue, 19 Mar 2013 13:40:18 GMT
其他可能的相关信息:
如果需要更多信息,我可以免费提供!
答案 0 :(得分:1)
我最近遇到过这个问题,这是一个已知的问题。关于SharePoint不允许多个回发的事情。请查看以下链接,了解此人如何解决此问题。
至于我如何解决我的问题,我使用了DexExpress控件,我有一个ASPxButton来启动服务器端代码以导出网格。我还在客户端的onClick事件上添加了一些javascript代码来设置以下变量 _spFormOnSubmitCalled = false; _spSuppressFormOnSubmitWrapper = true;
<dx:ASPxButton runat="server" ID="btnExportGrid" Text="Export Data" AutoPostBack="False" OnClick="btnExportGrid_Click" >
<ClientSideEvents Click="function(s, e) {_spFormOnSubmitCalled=false;_spSuppressFormOnSubmitWrapper=true;}" />
</dx:ASPxButton>
我希望这会有所帮助。