我在Login.aspx页面用户登录成功后:Session["userinfo"] = userEntity;在自定义头控件 页面取Session的用户信息userinfo = (Tech.Model.UserInfo)Session["userinfo"];
this.labUserName.Text=userinfo.username; 用于显示当前登录用户的姓名
并且做了判断如果未登录 显示 登录用户: 未选中这种简单的几步应该是没问题 但是现在放在服务器上以后 有时候登录进去后
面页刷新后有时候是 登录用名:XXX  有时候 确是 登录用户: 未选中
也就是说并不是Session丢失 这是什么原因
我想用别的代替现在我用cookies
Response.Cookies("username") = userEntity.UserName.ToString();错误 System.Web.HttpResponse.Cookies”是“属性”,但此处被当做“方法”来使用这是什么回事?
各位 知道这是什么原因吗 有什么好的解决方法没?

解决方案 »

  1.   

    Response.Cookies("username") = userEntity.UserName.ToString(); 错误 System.Web.HttpResponse.Cookies”是“属性”,但此处被当做“方法”来使用应该是Response.Cookies[username]=userEntity.UserName.ToString(); 
      

  2.   

    用Cookies比较好,虽然我一直用的是数据库保存
      

  3.   

    Response.Cookies["username"] = userEntity.UserName.ToString(); 错误 8 无法对属性或索引器“System.Web.HttpCookieCollection.this[string]”赋值 -- 它是只读的
      

  4.   

    一般情况下不要用Cookes,因为有的客户端会禁用cooke,所有用session更好一些,对于你的情况,我建议你设置一下session的过期时间!试试
      

  5.   


    Response.Cookies["username"].Value = userEntity.UserName.ToString();
      

  6.   


    因为 不管是session cookie 都是采用键值对的方式保存对象或者值的
    后面跟的当然是【】要是()或者没有当然是要报错了
      

  7.   

     这个用户session比较好!!以为cookie是放在客户端,如果客户端禁用cookie, session是放在服务器内存中的,你看看设置你的session过期时间
      

  8.   

     在webconfing文件中设置 timeout 单位为分钟 ,可以设置长点
      

  9.   

    session总出现这个问题,设置了timeout 也不管用
      

  10.   

    session 不稳定容易丢失,这个是很正常的事情,用Cookie,关于cookie的使用网上资料很多,这个时候,还要考虑客户端禁用了cookie该怎么办,我想备用的方案就是Cookie不好用了就用session