C# Cookies消失问题!!!!
    //st1为判断数据,此处就不写前面的了,为数据库读取出来的数据,string类型,在此说明一下即可
    string cst=Session.SessionID;
    string stID=txtBox1.Text;
    if (st1 == "")
        {
            SqlCommand sqlcom1 = new SqlCommand();
            sqlcom1.Connection = sqlconn;
            sqlcom1.CommandText = "UPDATE [dbo].[R_Users]  SET   [Computer1] ='" + cst + "' WHERE UserID=" + (int)dr["UserID"];
            sqlcom1.ExecuteNonQuery();

            HttpCookie myCook = new HttpCookie("Computer1" + stID);
            myCook.Value = cst;
            Response.Cookies.Add(myCook);

            logintype = 1;
        }
        else
        {
            var thhisComputer1 = HttpContext.Current.Request.Cookies["Computer1" + stID].Value;
            Response.Write(thhisComputer1);

        }

代码如上,当我的st1为空的时候,我为数据库里面的st1添加一个cookies数据cst,保存起来,并添加cookies["Computer1"+stID],保存在客户端,
问题来了!第二次我打开网页的时候再次判断这个st1是否为空的时候,st1是不为空的(数据库读取出来已经),读取cookies["Computer1"+stID],显示的是:未将对象引用设置到实例化。
求助!!!!
cookies不是已经写入客户端的了吗?为什么还是没有数据读取出来.....

3个回答

你生成的是内存cookie,浏览器关闭就销毁了,要加有效期


            HttpCookie myCook = new HttpCookie("Computer1" + stID);
             myCook.Expires = DateTime.Now.AddYears(1);//有效期1年,1年内cookie可以访问,除非浏览器清除过cookie
            myCook.Value = cst;
            Response.Cookies.Add(myCook);
zhizexiaoyao
FunctionTwo 先谢谢先,我加了cookies时间,myCook.Expires=DateTime.MaxValue;但还是刷新就不见了cookies;
5 年多之前 回复

Expires 没设置,然后保险起见,Add方法Set方法都调用次

zhizexiaoyao
FunctionTwo 回复娃都会打酱油了: 刚刚试了setcookies,还是一样,重新打开浏览器就不行了...郁闷
5 年多之前 回复
starfd
娃都会打酱油了 试试Response.SetCookie(myCook);
5 年多之前 回复
zhizexiaoyao
FunctionTwo 先谢谢先,我加了cookies时间,myCook.Expires=DateTime.MaxValue;但还是刷新就不见了cookies;
5 年多之前 回复

既然你加了实效了,我建议你看看你的浏览器是不是设置了关闭自动清除cookie,或者你可以把网站发布出来,然后用iis搭建后,用其他浏览器访问,看看cookie有没有保存下来。

zhizexiaoyao
FunctionTwo 回复zfcode: 已经解决了,谢谢了,原来在stID的时候要转换为string类型即stID.toString();
5 年多之前 回复
zhizexiaoyao
FunctionTwo 回复zfcode: 已经解决了,谢谢了,原来在stID的时候要转换为string类型即stID.toString();
5 年多之前 回复
zhizexiaoyao
FunctionTwo 已经解决了,谢谢了,原来在stID的时候要转换为身体ring、
5 年多之前 回复
zf97576419
zfcode 回复FunctionTwo: 你试下用前台js的方式进行写入cookie
5 年多之前 回复
zhizexiaoyao
FunctionTwo 先前就是搭上网络了,试了不行然后就在客户端试一下,还是不行,所以现在就纠结了。。。
5 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐