我在用户表是加了一个字段用来识别用户是否在线 
 statr= 0, //不在线
 statr= 1//在线在global.asax 里怎么能更新当前用户的值谢谢!!!
  void Session_Start(object sender, EventArgs e) 
    {
        // 在新会话启动时运行的代码        string sys_vvv = "update sys_userinfo set statr=1  where id = '“这里怎么写 ";
        OperateClass.SqlHelper.ExecuteNonQuery(sys_vvv);
        
        
    } void Session_End(object sender, EventArgs e) 
    {
        // 在会话结束时运行的代码。 
        // 注意: 只有在 Web.config 文件中的 sessionstate 模式设置为
        // InProc 时,才会引发 Session_End 事件。如果会话模式设置为 StateServer
        // 或 SQLServer,则不引发该事件。
        string sys_vvv = "update sys_userinfo set login=0   where id = '“这里怎么写 ";
        OperateClass.SqlHelper.ExecuteNonQuery(sys_vvv);
        
            }

解决方案 »

  1.   

    你登录的时候,用户信息写到哪儿了?去取User.Identity.Name或者是自己写的Session
      

  2.   

    登录的写到Session里的,但是在Global.asax里没法调用呀
      

  3.   

    比如你的用户存在Session里面:
    HttpContext.Current.Session["用户(根据你实际的Key)"]
      

  4.   

    session_start,当用户启动一个会话时激发此事件。即当用户第一次开始访问站点时,包括用户关闭浏览器窗口再打开时。session_end,当一个用户会话结束时激发此事件。这不是在浏览器窗口关闭时,因为会话有一个超时值–如果在该段时间内没用用户活动,会话结束。