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

时间:2017-10-07 21:31:23

标签: javascript asp.net vb.net

使用带有Hyperlink.NavigateUrl的javascript:location.replace时效果非常好。

例如,这很有效:

HyperLinks.NavigateUrl = "javascript:location.replace('step3.aspx?Time=" + i + "');";

这根本不起作用:

Response.Redirect("javascript:location.replace('step3.aspx?Time=" + i + "'); return false;");

它似乎只是回归自身或什么都不做。

我应该使用的正确语法是什么,或者有替代方法吗?

1 个答案:

答案 0 :(得分:1)

您最有可能想要使用Response.Redirect方法。您的示例的可能语法是:

Response.Redirect(String.Format("step3.aspx?Time={0}", i), false);

Redirect方法的第一个参数是绝对或相对URL。

但是,Redirect方法会在浏览器的历史记录中输入一个条目,而原始的JavaScript location.replace()方法则不会。解决这个问题的一种方法是,如果这很重要,那就是使用Server.Transfer方法:

Server.Transfer(string.Format("step3.aspx?Time={0}", i));

但在这种情况下,浏览器显示的网址不会更改为" step3.aspx"。您必须决定哪种方式适合您。