0
當我點擊導出按鈕後,我可以導出excel文件,我希望在響應寫入客戶端(即response.flush()後)之後重定向頁面。我可以這樣做嗎?如何在導出excel文件後重定向或刷新aspx頁面?
當我點擊導出按鈕後,我可以導出excel文件,我希望在響應寫入客戶端(即response.flush()後)之後重定向頁面。我可以這樣做嗎?如何在導出excel文件後重定向或刷新aspx頁面?
您不能在代碼後面重新加載/重定向並同時導出文件。 最好使用javascript。將「OnClientClick
」添加到導出按鈕,並在重新加載之前等待x毫秒。
<asp:Button ID="Button1" runat="server" Text="Export" OnClick="Button1_Click" OnClientClick="sleepAfterClick()" />
<script type="text/javascript">
function sleepAfterClick() {
setTimeout(function() { location.href = "http://www.google.nl" }, 2000);
}
</script>
如果設置過短的時間超時,就會重新加載頁面和exort不會發生。因此,確保它的安全時間總是比創建Excel所需的時間長。
重定向像往常一樣工作。Like Response.Redirect(「URL」)。 –
如果你在刷新後重定向,你將失去文件 – Ted
@ m.kudi&Ted - 謝謝你,但是我想刷新頁面,並且Ted說如果我在響應之前使用response.redirect(),我會丟失一個文件。 flush() – iamns7