使用带有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;");
它似乎只是回归自身或什么都不做。
我应该使用的正确语法是什么,或者有替代方法吗?
答案 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"。您必须决定哪种方式适合您。