如何使用javascript:location.replace with response.redirect

如何使用javascript:location.replace with response.redirect,javascript,asp.net,vb.net,Javascript,Asp.net,Vb.net,使用javascript:location.replace和Hyperlink.NavigateUrl时,它可以完美地工作 例如,这非常有效: HyperLinks.NavigateUrl = "javascript:location.replace('step3.aspx?Time=" + i + "');"; 这根本不起作用: Response.Redirect("javascript:location.replace('step3.aspx?Time=" + i + "'); retur

使用javascript:location.replace和Hyperlink.NavigateUrl时,它可以完美地工作

例如,这非常有效:

HyperLinks.NavigateUrl = "javascript:location.replace('step3.aspx?Time=" + i + "');";
这根本不起作用:

Response.Redirect("javascript:location.replace('step3.aspx?Time=" + i + "'); return false;");
它似乎只是发回自己,或者什么也不做


我应该使用的正确语法是什么?或者,还有其他选择吗?

您很可能希望使用该方法。您的示例可能的语法是:

Response.Redirect(String.Format("step3.aspx?Time={0}", i), false);
重定向方法的第一个参数是绝对或相对URL

但是,重定向方法会将一个条目放入浏览器的历史记录中,而原始JavaScript location.replace方法不会。如果这很重要,一种解决方法是使用以下方法:


但在这种情况下,浏览器显示的URL不会更改为step3.aspx。您必须决定哪个选项更适合您。

单击asp:按钮,使用“我正在触发”,对sql数据库进行更新,发送电子邮件,然后在完成后重定向到另一个页面。如果你想做同样的事情,发布一些东西来更新sql,然后在没有任何刷新的情况下得到一个响应,只需要更新你的数据和选择结果。您需要使用ajax发布和获取数据作为响应。ASP.net页面需要发送带有text/json和object json的标题内容类型,作为从数据库请求返回的对象…etcUse Response.Redirectstep3.aspx?Time=&i
Server.Transfer(string.Format("step3.aspx?Time={0}", i));