asp.net--注销后禁止返回问题

大家做网站时,基本都会接触登录和注册,那么就有一个问题,注销后回到登录页面,如果点击浏览器上的返回键,依然可以回到上一个页面,相信大家也为此非常苦恼,我当初也是很苦恼,在网上百度找尽办法依然没有效果,后来问老师,老师说注销时只要销毁登录凭据即可,即销毁Session值,虽然依然可以返回上一个界面,但是返回上一个界面后,你看到的是一张静态网页,当你点击当中的按钮时,页面会跳转到登录页面,好了,废话不多说,现在就贴出代码

1.前端页面

 <asp:Button ID="exit" class="btn btn-danger btn-xs" runat="server" Text="注销" OnClick="exit_Click"></asp:Button>

2.后端代码

protected void exit_Click(object sender, EventArgs e)
        {
            Session.Abandon();
            Response.Write("<script>window.location.href='Default.aspx'</script>");
        }

当点击注销按钮后,Session.Abandon();方法会销毁所有Session值,然后回到Default.aspx页面,如果点击浏览器上的返回键,依然会返回到上一页面,不过问题大,即使你可以返回,但是你却只能看到历史,也就是说你只看到了一张静态网页,不能刷新,一旦刷新该页面,就会回到Default.aspx页面。但是其他页面的后台代码中得加上这么几行代码才能达到如此效果:

protected void Page_Load(object sender, EventArgs e)
        {
            if (Session["userName"] == null || Session["userName"].ToString() == "")
            {
                Session.Abandon();
                Response.Write("<script>window.location.href='Default.aspx'</script>");
            }
            
        }

每次加载网页时,判断Session值,也就是凭据,如果为空,就跳转到Default页面,所以,当你注销后,销毁了凭据即Session值,上一页面是不能被刷新的,一旦有任何其他操作,都会跳转到Default页面

希望这个方法能够帮助到你!!如果大家有更好的方法,可以留言哦~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值