调用 javascript 警报和重定向 url 问题

Posted

技术标签:

【中文标题】调用 javascript 警报和重定向 url 问题【英文标题】:call the javascript alert and redirect url issue 【发布时间】:2016-02-03 20:57:18 【问题描述】:

女士们,先生们,

我正在尝试从按钮调用警报,并且在警报之后我希望它重定向到我的主页。但是,当我从 asp 按钮调用以下代码时

ClientScript.RegisterStartupScript(this.GetType(), "Success", "alert('" + "Activation mail has been sent to the email address. Please check your email!" + "');window.location.href('Home.aspx');", true);

它不起作用。可以调用警报,因此此 javascript 是正确的。 我怀疑是回发导致重定向不起作用。所以我把更新面板作为结果按钮根本不能调用该函数。

最后我尝试在 javascript 中设置 return false 也不起作用。

我也尝试在调用 javascript 函数后进行响应重定向,但 javascript 和运行的后台代码同步,因此页面将在警报调用之前重定向。

如何实现我的方案?

【问题讨论】:

如果您从 UpdatePanel 回发,请使用 ScriptManager 而不是 ClientScript。还要检查它们的参数顺序 【参考方案1】:

我建议你不要使用

window.location.href('')

使用

window.location.replace('')

如果你想像 html 重定向一样重定向。 来源:How to redirect to another webpage in JavaScript/jQuery?

但是,就像racilhilan 说你可以使用:

window.location ='Home.aspx'

【讨论】:

【参考方案2】:

正如其他答案所说:

 window.location.href = 'Home.aspx'

但这是一个相对路径,所以它仅在当前页面与主页位于同一文件夹中时才有效。 Redirecting to a relative URL in JavaScript.

使用“/”进入您网站的根文件夹:

 window.location.href = '/Home.aspx'

【讨论】:

【参考方案3】:

href 不是一个函数,所以你不能像href('Home.aspx') 那样调用它。改变

window.location.href('Home.aspx')

window.location ='Home.aspx'

【讨论】:

【参考方案4】:

试试这个。

ClientScript.RegisterStartupScript(this.GetType(), "Success", "alert('Activation mail has been sent to the email address. Please check your email!');window.location ='Home.aspx';", true);

【讨论】:

欢迎来到 Stack Overflow!虽然此代码可能会回答问题,但提供有关此代码为何和/或如何回答问题的额外上下文可提高其长期价值。

以上是关于调用 javascript 警报和重定向 url 问题的主要内容,如果未能解决你的问题,请参考以下文章

转发和重定向

转发和重定向

转发和重定向的区别

转发(forward)和重定向(redirect)的区别

提交 HTML 表单,执行 javascript 功能(警报然后重定向)

使用 jQuery 更改 URL 和重定向