为什么浏览器上的“返回”按钮会触发上次激活的事件?

Why does the "Back" button on the browser trigger the last activated event?

提问人:Chin 提问时间:1/5/2022 最后编辑:Chin 更新时间:1/5/2022 访问量:158

问:

我有 2 个网页,网页 A 和网页 B。

网页 A 的作用

网页 A 有 2 个事件,Page_Load 个事件和 button_click 个事件。

当Page_Load事件被触发时,它将检查用户是否是,如果用户是,它将直接将用户重定向到网页 B,如果没有,则什么都不会发生。logged inlogged in

当点击网页 A 上的按钮时,用户统计信息将变为并重定向到网页 B。logged in

网页 B 的作用

网页 B 仅Page_Load事件。

当Page_Load事件被触发时,它将检查用户是否在,如果用户是,它将停留在网页上,如果不是,它将重定向回网页 A。logged inlogged in

我现在面临的问题是,如果我在统计信息中加载网页 A,单击按钮进入网页 B,然后单击浏览器左上角的浏览器后退按钮,它将进入网页 A 并触发button_click事件(这是网页 A 上的最后一个触发事件)而不是用户在统计信息中但未重定向到网页 B 的Page_Load事件。not logged inlogged in

当用户按下后退按钮时,网页 A 的 Page_Load 事件根本不会触发。

PSS的。我的两个事件都是用 C#(asp.net) 编写的。

这是什么原因,我该如何解决这个问题?谢谢。

更新

我发现只有当我的网页 A 的 button_click 事件发生一次但没有重定向(尝试登录但登录失败/被拒绝)时才会发生此问题。然后在第二次单击它工作时,进入网页 B,现在如果单击返回将显示失败条件Page_Load并且不会触发事件。我觉得这与缓存或 Ram 有关?有没有办法让我的网页“忘记”它失败了一次,然后像以前什么都没发生一样回到网页 A?

C# HTML asp.net 事件 返回

评论

0赞 Albert D. Kallal 1/7/2022
我不确定这是否重要。你是怎么跳到第二页的?您是否使用 Resonse.Redirect(“MyPageB.aspsx”)。
0赞 Chin 1/10/2022
是的,我使用 Response.Redirect() 将用户重定向到另一个页面。

答: 暂无答案