比如说在一个系统的管理后台 我要每个页面去验证用户是否登陆,这样我在一个所有页面的基类文件中写了个Session验证方法 现在把他放到每个页面的Page_load事件里面,这样就可以验证每个页面! 现在有个问题 在每个页面上的Button_Click事件 在Button_Click事件中我要用到Session去判断用户的身份 而去执行不同的代码操作 但是这时当Session过期时会提示错误,这时并没有激发Page_load事件 因没有去验证Session是否过期请问对Button_Click事件中 Session验证是否过期的有什么好的方法

解决方案 »

  1.   

    楼上的fuda_1985能不能说的详细一点怎么个form验证方法
      

  2.   

    web.config中设置<authentication mode="Forms"/>
      

  3.   

    可以在Global.asax.cs里面的Session_Start 和Session_End里面处理
      

  4.   

    Page_load每次都会执行,不管是不是postback而且先于button_click执行
      

  5.   

    pageload()中判断session是否为空就可以if(Session["username"]==null)
       ...(返回登录页面)可以在webconfig中设置session有效期
    <sessionstate=...>
      

  6.   

    最好不用Session,Session_End这个事件很难捕捉的到(或者根本捕捉不到,本人没成功过=。=)
    用Forms身份验证的话LZ想要的功能会很好实现的
      

  7.   

    在PageLoad中执行判断Session呀。不要放在!ispostback中
      

  8.   

    在Page_Load里判断,先判断是否为空
      

  9.   

    但是这时当Session过期时会提示错误
    ===============
    使用前需要判断另外应该放在
    Page_Load里面,注意不要放在if(!IsPostBack){}里面
      

  10.   

    问题已经搞定 我是放到这个事件里面
    override protected void OnInit(EventArgs e)
        {
            ValidUserInfo();
            base.OnInit(e);
        }  
    去验证