ASP.NET页面加载与浏览器返回按钮
本文关键字:浏览器 返回 按钮 加载 NET ASP | 更新日期: 2023-09-27 18:03:44
这里有几个类似的问题,但没有一个能准确地回答我的问题。以下是(简化的(场景:
Page1.aspx:用户登录Page1.aspx,然后单击一个按钮。在postback
期间,用户被重定向到Page2.aspx(通过Response.Redirect
(。
Page2.aspx在Page2.aspx的page load
事件中,会进行一些验证,然后会进一步重定向到Page3.aspx(再次通过Response.Redirect
(。
Page3.aspx只需向用户显示一些信息。没问题。
现在,当用户在Page3.aspx上点击浏览器中的后退按钮时,就会出现问题。在这种情况下,我希望Page2.aspx重新加载,以便再次进行验证。然而,Page2.aspx被有效地绕过,Page1.aspx被重新加载(并且只有当我关闭页面的缓存时(。关闭Page2.aspx的缓存并没有什么区别。
所以,我的问题是,当用户单击浏览器中的后退按钮时,有没有办法让Page2.aspx运行?
试着把这个放在第2页的代码后面,我把它放在page_load上面,它似乎让页面在按下后退按钮后激发代码后面。
protected override void OnInit(EventArgs e)
{
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.Cache.SetNoStore();
Response.Cache.SetExpires(DateTime.MinValue);
base.OnInit(e);
}
Andrew
在会话变量中使用标志的小技巧
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
If Not Page.IsPostBack Then
If Session("flag") = 1 Then
Session("flag") = 0
Response.Write("<script>window.location.reload();</script>")
End If
Else
Session("flag") = 1
End If
End Sub
Protected Sub button1_Click(sender As Object, e As EventArgs) Handles button1.Click
Response.Redirect("Page3.aspx")
End Sub
希望能帮助您