Javascript alert() after Response.Redirect
本文关键字:Response Redirect after alert Javascript | 更新日期: 2023-09-27 17:56:48
我在代码中调用它:
(test.aspx)
Response.Redirect("~/Default.aspx");
我想在重定向到默认.aspx之后/之前包含一个 javascript 警报,可以吗?我这样做是因为我将一个值传递给另一个页面(test.aspx),并且该页面检查数据库,如果读者 HasRow(),然后重定向到 Default.aspx。
这样做的方法是使用 javascript 显示警报,然后使用 javascript 执行重定向:
ScriptManager.RegisterStartupScript(this,this.GetType(),"Redit","alert('asdf'); window.location='" + Request.ApplicationPath + "Default.aspx';",true);
让我们来看看当你调用 response.redirect() 时会发生什么
- 服务器向浏览器发送HTTP响应302,包括要导航到的url
- 浏览器不显示响应内容,而是从指定的 URL 获取内容
- 如果对新 URL 的请求成功,则会显示该请求。
现在看看这个,我们可以推断出不可能告诉浏览器从发出重定向的页面执行 alert(),因为它的内容(如果有的话)被丢弃了。
可以从要重定向到的页面中完成所需的操作。为此,只需检查 Request.UrlReferrer 以检查您是否从正确的页面重定向,然后在适当的时候显示警报。
例:
- 页面
- 1 重定向到页面 2 第
- 2 页 检查 Request.UrlReferrer 是否等于第 1 页
- 如果相等,则显示警报
- 如果没有,请不要做任何特别的事情
另一种方法是先发出警报,然后从javascript进行重定向。 window.location.href = newurl。
如果你在Defaul.aspx页面上显示了一些消息,你必须声明它。因为当您使用重定向时,您的页面是从顶部呈现的。您必须在重定向之前在某物标志上设置Sesion状态,并且在默认.aspx页面上,您必须插入在设置此Sesion状态时添加的部分。