浏览器后退,page_load未触发,但貌似却执行了里面的一部分代码

_lee_chong 2012-02-05 04:46:40

protected void Page_Load(object sender, EventArgs e)
{
if (IsPostBack) return;
UserInfo user = Session["User"] as UserInfo;
if (user != null)
{
lbShow.Text = Request.Cookies["UserName"].Value + "\t" + Request.Cookies["LoginTime"].Value;
btnLogin.Visible = false;
btnLogout.Visible = true;
}
else
{
lbShow.Text = "游客";
btnLogin.Visible = true;
btnLogout.Visible = false;
}
}

我在第一句话的地方设断点,当我登陆成功后浏览器后退别人都说page_load不会触发,事实上也确实没触发,
但是奇怪的是页面上Label lbShow却显示了用户名....而且登录按钮被隐藏了,注销按钮显示,这又说明if里的代码被执行了
更奇怪的是lbShow只显示了用户名,却没显示登陆时间......刷新一下时间才出来
哪位高手来帮我解释下吗,很困惑呀
...全文
128 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
_lee_chong 2012-02-05
  • 打赏
  • 举报
回复
....我把整个浏览器关了再开就正常了,真是缓存原因,换句话说我一在测试之前某次的代码;
真想不明白我之前的代码和现在的代码已经有部分对不上了,为什么我在VSF5却还是跑的之前的页面。。。
popotans 2012-02-05
  • 打赏
  • 举报
回复
我认为是客户端浏览器缓存
Ultimate 2012-02-05
  • 打赏
  • 举报
回复
浏览器后退,应该是用的缓存,如果你没有清除缓存,应该跟这个ispostback没有关系。纯属个人意见...
_lee_chong 2012-02-05
  • 打赏
  • 举报
回复
我试着把UserInfo user = Session["User"] as UserInfo;以下的代码都在注释了,结果还是这么诡异

62,025

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧