【问题标题】:How to use javascript:location.replace with response.redirect如何使用 javascript:location.replace 和 response.redirect
【发布时间】:2017-10-07 21:31:23
【问题描述】:

将 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;");

它似乎只是发回给自己或什么都不做。

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

【问题讨论】:

  • 使用
  • 我正在触发一个 asp:button On Click,对 sql 数据库进行更新,发送一封电子邮件,然后在完成后重定向到另一个页面。全部在代码后面并且严格地在 asp.net 中。
  • 如果您想做同样的事情,发布一些更新 sql 的内容,然后在不进行任何刷新的情况下获得响应,只需更新您的数据并选择结果。您需要使用 ajax 发布并获取数据作为响应。您的 ASP.net 页面需要发送带有“text/json”的标题内容类型和一个对象 Json 作为从数据库请求中返回的对象 ...等
  • 使用Response.Redirect("step3.aspx?Time=" & i)

标签: javascript asp.net vb.net


【解决方案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));

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-25
    • 2016-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-07
    • 1970-01-01
    相关资源
    最近更新 更多