![](/img/trans.png)
[英]Redirect from asp.net page to another using javascript function
[英]How to redirect to another page during request in ASP.NET
我有規則的asp.net頁面,上面有幾個按鈕。 我希望有1個類似於Stop Request
按鈕,所以無論單擊了哪個按鈕,用戶都可以單擊此按鈕並刷新我的頁面。 所以這是我的想法的例子:
<asp:Button ID="btnRefresh" runat="server" OnClick="btnRefresh_Click" ToolTip="Click to generate report based on parameters selected above"
Text="Run Report" Width="100px" />
<asp:Button ID="btnCancelRequest" runat="server" Text="Stop Request" OnClientClick="javascript:return CancelRequestClick();"/>
因此, btnRefresh
進行回發以執行SQL查詢並執行后端邏輯。 假設完成所有過程需要10到20秒。 我還有幾個這樣的按鈕。 它們中的一些執行繁重的sql查詢,而另一些則在背面進行一些長時間的執行代碼。 我想擁有btnCancelRequest
按鈕,該按鈕將僅刷新頁面,這將帶回干凈的頁面,而無需任何用戶更改。
這是JS代碼
function CancelRequestClick() {
window.location.href("RateReport.aspx");
return false;
};
有什么方法可以使該JS代碼在單擊時執行,而不等待響應返回?
使用javascript,window.stop(),停止瀏覽器加載
function CancelRequestClick() {
window.stop();
window.location.href("RateReport.aspx");
return false;
};
沒有javascript,有點棘手,提交表單可以取消其他請求,例如,將虛擬對象提交到同一頁面
<form action="YourAspxPage.aspx" method="get">
<input type="submit" value="cancel">
</form>
按取消將向該頁面提交偽表格,並停止其他過程
我希望能夠取消所有當前請求。 如果用戶單擊運行按鈕並在背面執行升沉查詢,或者用戶單擊按鈕並在背面執行任何其他升沉邏輯,我想能夠隨時取消和刷新頁面
首先,HTTP是無狀態的。 這意味着當服務請求時,UI線程不再可用。 結果,您不知道要取消該任務。
您希望實現的目標是不可能的。 但是,您有解決方法。 觸發長期運行的任務后,您可以在數據庫中插入一條記錄,例如-
UserId, TaskType, IsCancelled
然后讓該任務執行,並經常檢查IsCancelled標志。
如果要取消它,請將IsCancelled標志設置為true。 當任務看到它時,它將自行取消, 直到您無法執行任何操作為止 。
理想情況下,您希望將諸如Hangfire或Quartz.Net之類的Scheduler用於長時間運行的作業,但這不在您的問題范圍內。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.