簡體   English   中英

Javascript無法使用Ajax ASP.Net進行response.redirect

[英]Javascript not working on response.redirect using ajax ASP.Net

我將ASP.Net頁面重定向到下載頁面,並且我正在使用ajax。 重定向頁面確實起作用,下載了文件,並顯示了稱為下載的頁面。 下載文件后,我需要調用javascript以刪除等待屏幕。

我先調用重定向,然后用JavaScript取消阻止用戶界面。 阻止UI我正在使用onclientclick ='block()';

  Response.Redirect("ExportFile.aspx, false);
 ScriptManager.RegisterClientScriptBlock((this), this.GetType(), "alertAction", "alert('');unblock();", true);

即使是警報也無法正常工作,因此JS根本不會被觸發。 我厭倦了將代碼放在文件下載頁面上,但這也不起作用。 我什至嘗試了body onpageunload,但也從未觸發過。

如何重定向到文件下載頁面,然后調用JS來取消阻止UI?

一旦response.redirect發生,其他代碼將無法執行。 我建議用javascript編寫重定向代碼,然后將其放入RegisterClientScriptBlock。 只要確保取消阻塞在window.location之前即可。

ScriptManager.RegisterClientScriptBlock((this), this.GetType(), "alertAction", "unblock(); window.location.assign('yourPage.aspx');", true);

硬漢是正確的。 另外,一旦您將它們重定向到另一個頁面(如果我的假設是正確的,那么您將重定向到另一個頁面)。 您可能希望在到達新頁面后觸發此行,因此您希望在Load()函數后面的該頁面代碼中使用它:

ScriptManager.RegisterClientScriptBlock((this), this.GetType(), "alertAction", "alert('');unblock();", true);

您可能希望在該重定向URL中包含一個查詢字符串,以告知該頁面執行該操作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM