Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在ASP.NET请求期间重定向到另一个页面_Javascript_C#_Jquery_Asp.net - Fatal编程技术网

Javascript 如何在ASP.NET请求期间重定向到另一个页面

Javascript 如何在ASP.NET请求期间重定向到另一个页面,javascript,c#,jquery,asp.net,Javascript,C#,Jquery,Asp.net,我有一个普通的asp.net页面,上面有几个按钮。我希望有1个按钮,类似于停止请求,所以无论单击哪个按钮,用户都可以单击此按钮并刷新我的页面。下面是我想法的一个例子: <asp:Button ID="btnRefresh" runat="server" OnClick="btnRefresh_Click" ToolTip="Click to generate report based on parameters selected above"

我有一个普通的asp.net页面,上面有几个按钮。我希望有1个按钮,类似于
停止请求
,所以无论单击哪个按钮,用户都可以单击此按钮并刷新我的页面。下面是我想法的一个例子:

<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();"/>

有没有办法让这个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>

按cancel将向该页面提交虚拟表单,并停止另一个进程


我想有能力取消所有当前的请求。如果用户单击 运行按钮,它在背面执行垂荡查询或用户单击 按钮,它会在我想要的背面执行任何其他垂荡逻辑 可以随时取消和刷新页面

首先,HTTP是无状态的。这意味着当请求被服务时,UI线程不再可用。因此,您不知道要取消的任务

你希望实现的目标是不可能的。但是,你有一个解决办法。触发长时间运行的任务后,在数据库中插入一条记录,如-

UserId, TaskType, IsCancelled
然后让任务继续并经常检查IsCancelled标志

如果要取消,请将IsCancelled标志设置为true。当任务看到它时,它将自动取消,直到您无法执行任何操作为止


理想情况下,您希望在长时间运行的作业中使用类似调度程序的或,但这超出了您的问题范围。

不鼓励只使用代码的答案;请编辑您的答案,以解释这解决问题的原因。您好。首先,我在IE工作,我找到了那个窗口;不支持IE。所以,我发现我可以使用document.execCommand(“Stop”);相反,这没有帮助。我的页面仍在等待响应结束,然后刷新…为什么您不能再次重新加载页面?单击时附加事件,就像刷新“btnRefresh\u click”时一样。是否为“停止按钮”创建另一个事件,然后在单击时重新加载页面?比如
Response.Redirect(“yourapsxpage.aspx”)因为如果我先单击btnRefresh,然后单击btnCancelRequest,它将等待btnRefresh事件完成,然后才执行btnCancelRequest事件。这个问题有点难以理解。单击某个按钮时,是否希望在服务器端执行某个命令并在不等待完成的情况下返回UI?或者您想取消已经在后台运行的某些操作?我希望能够取消所有当前请求。如果用户单击run按钮,它在背面执行垂荡查询,或者用户单击按钮,它在背面执行任何其他垂荡逻辑,我希望能够随时取消和刷新页面
UserId, TaskType, IsCancelled