【问题标题】:asp.net handling Back button event after Logout注销后asp.net处理后退按钮事件
【发布时间】:2011-03-26 21:33:01
【问题描述】:

在注销链接按钮单击事件中,我已清除会话变量。我在每个页面的加载事件中检查这些会话变量的空值。如果它具有将它们重定向到登录页面的空值。 但问题是每当我单击浏览器后退按钮时,page_load 事件都不会被调用。为此,我已清除浏览器缓存历史记录。 请在我失踪的地方帮助我...

【问题讨论】:

标签: asp.net


【解决方案1】:

您需要确保登录后的页面(只有登录后才能访问的页面)没有缓存在浏览器中:

Page.Response.Cache.SetCacheability(HttpCacheability.NoCache);

如果使用表单身份验证,您还需要放弃会话并注销:

Session.Abandon();
FormsAuthentication.SignOut();

请参阅thisthisthis

【讨论】:

  • -1 “那些只有登录后才能访问的”,即网站上的每个网页。所以你基本上是说禁用网站上每个页面的缓存。 +1,如果你能解释一下。
  • @sub13 - 如果他希望点击后一页不会显示最后一页(假设必须登录才能看到该页面),他不能让浏览器缓存该页面.请说明您将使用什么其他机制来解决此问题。
【解决方案2】:

试试这个代码,希望它有效

Response.Cache.SetCacheability(HttpCacheability.NoCache);

Response.Cache.SetExpires(DateTime.UtcNow.AddHours(-1));

Response.Cache.SetNoStore();

【讨论】:

    猜你喜欢
    • 2012-11-03
    • 2018-08-03
    • 2017-03-28
    • 2012-05-12
    • 2011-08-05
    • 1970-01-01
    • 2015-04-21
    • 2023-03-29
    • 2015-08-29
    相关资源
    最近更新 更多