实现登陆 第一次登陆session 正常保存  关掉浏览器 在登 session 貌似都不能正常保存是怎么回事!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

解决方案 »

  1.   

    服务器关了重新启动session就没了啊。
    读取当然是没用的。
    不行就用cookies吧。
      

  2.   


    session是面向会话的,从你浏览器访问域名开始创建,到你关闭浏览器结束
    所以你浏览器关了,当然就没了
    按照你的描述,你需要用COOKIE!
      

  3.   

    不是啊 是 Session.add(key,value) 这个方法调用了等于没有调用~~~~~~~
    下张页面去取取不到~~~
    只有第一次可以~~
      

  4.   

               if (um.UserLogin(us))
               {
                   us = um.GetUserByLoginName(txtLoginName.Text);//获得用户详细信息               Session.Add("users" ,us);               Session.Timeout = 12000;               Response.Redirect("MainBack.aspx");//重定向 调试后发现session在这里丢失了
                   
               }
    //中间页面为了判断是否登陆 MainBack.aspx.cs 继承这个类
    public class Middle : System.Web.UI.Page
    {
        protected override void OnInit(EventArgs e)
        {
            base.OnInit(e);        if (Session["users"] == null)//判断session是否存在
            {
                Response.Redirect("~/BackControl/NeedLogin.html");
            }
        
        }
    }
      

  5.   

    -_-||
       你开启一个浏览器就是向服务器请求了一个session会话,这个会话存储着你的登录信息,你关掉浏览器然后再新开一个,又是一个新的会话,当然不行了。按照你的描述,最好用cookielz连cookie和session都没搞清,资料
      

  6.   

    不会,浏览器不管session还是存在的
      

  7.   

    那我上面的代码有问题吗//登陆按钮的事件
     protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
        {
            if (Page.IsValid)
            {
               UserInfo us = new UserInfo();           us.UserLoginName = txtLoginName.Text;
               us.UserLoginPwd = txtPwd.Text;           UserManager um = new UserManager();           if (um.UserLogin(us))
               {
                   us = um.GetUserByLoginName(txtLoginName.Text);               Session["users"] = us;               Response.Redirect("MainBack.aspx");
                   
               }           else
               {
                   this.Page.ClientScript.RegisterStartupScript(this.GetType(), "aa", JsHelper.Say(um.Msg));
               }        }
        }
    //判断是否登陆的中间类/// <summary>
    /// Middle 的摘要说明
    /// </summary>
    public class Middle : System.Web.UI.Page
    {
        protected override void OnInit(EventArgs e)
        {
            base.OnInit(e);        if (Session["users"] == null)
            {
                Response.Redirect("~/BackControl/NeedLogin.html");
            }
        
        }
    }//实现页面public partial class BackControl_Default2 : Middle
    {
        protected void Page_Load(object sender, EventArgs e)
        {    }
    }
      

  8.   

    浏览器关了  session就消失了吧
      

  9.   


    cookies会被禁用  
    晕 我郁闷了
      

  10.   

    嗯 cookie被禁用也不安全,不过楼主可以把登陆信息放到数据库中保存一段时间,当做Session用,可以解决当前会话关闭Session丢失的问题。