页面要刷新好几次才能正常接收到SESSION

状况:在首页做了个用户登陆,用户输入用户名密码后点登陆按钮,在用户名密码通过一系列验证无误后,重复登陆2-3次,系统才提示登陆成功,调试发现在点登陆按钮刷新了好几次页面中,SESSION变量才取到值
原因:与2有点像,在ASP中,SESSION赋值后,刷新页面一定能收到SESSION,因此在.NET我便在page_load事件中判断Page.IsPostBack
如果当前页面为POSTBACK的时候
做身份验证
        if (Session["username"] != null)
        {
           //登陆后用户状态图层显示
            nolog.Visible = false;
            islog.Visible = true;
            Label1.Text = Session["username"].ToString();
        }
        else
        {
            //未登陆图层显示
            nolog.Visible = true;
            islog.Visible = false;
        }
结果造成上述状况,究其原因的话,可能要研究.NET的SESSION延时及页面刷新机制
总之在.NET程序中,登陆后的SESSION赋值和判断不能在不同的事件中,尽管页面已经刷新
解决方法是将上述身份判断语句直接放在登陆的CLICK事件,在SESSION赋值后直接做出判断
这个是在同事小林的帮助下找到的原因,做为个女孩子,她还真是个优秀的程序员

转载于:https://www.cnblogs.com/fabnet/archive/2008/04/25/1171169.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值