我他妈的真是没辙了,我在页面中第一次用cookie,第3个页面便失效了;于是我改用session,没想到我把timeout设成60,但我一顿大便回来后,session就失效了;这个事情,我在CSDN上发过,最后有两种解决方案:1、把session改为服务器的session,即cookieless,我觉得这影响速度。2、大家普遍推荐用cookie。于是我就又用cookie了。
这次倒是很好,这次到明天就一个星期了,很顺利。但就在今天,cookie还没顺利到一个星期,他妈的,cookie就有无故失效了。而且不是每次都是,但一般都是到第2个页面就失效了,就是说,它只能使用一次!!当然,如果你被系统推出来,然后再进页面,就会又好了,当然,也撑不了几次。所以我是没辙了,所以把我的login页面公布一下,请大家帮忙参考一下,有什么错误没有。login.aspx:if(dr.Read())
{
HttpCookie mycookie=new HttpCookie("yonghu");
mycookie["yonghuming"]=dr["yonghu"].ToString();
mycookie["islogin"]="yes";
Response.Cookies.Add(mycookie);
} 各页面在page_load时,都有一个判断:string cookieyonghuming,cookieislogin;
try
{
HttpCookie cookie = Request.Cookies ["yonghu"] ;
cookieyonghuming = cookie["yonghuming"].ToString();
cookieislogin = cookie["islogin"].ToString();
if(cookieislogin!="yes")
{
Response.Write("<script language=javascript>alert('您无权访问本页,请先登录');location.href='../login.aspx';</script>");
}
}
catch (Exception)
{
Response.Write("<script language=javascript>alert('错误:您无权访问本页,请先登录');location.href='../login.aspx';</script>");
}结果,页面总是无故提示:您无权访问本页,请先登录
从这里看,不是cookie不存在,而是cookie的结果不正确,但不是每次都这样,有时顺利,有时不行。
大家帮帮忙,看看是怎么回事啊!!!谢谢,不尽
这次倒是很好,这次到明天就一个星期了,很顺利。但就在今天,cookie还没顺利到一个星期,他妈的,cookie就有无故失效了。而且不是每次都是,但一般都是到第2个页面就失效了,就是说,它只能使用一次!!当然,如果你被系统推出来,然后再进页面,就会又好了,当然,也撑不了几次。所以我是没辙了,所以把我的login页面公布一下,请大家帮忙参考一下,有什么错误没有。login.aspx:if(dr.Read())
{
HttpCookie mycookie=new HttpCookie("yonghu");
mycookie["yonghuming"]=dr["yonghu"].ToString();
mycookie["islogin"]="yes";
Response.Cookies.Add(mycookie);
} 各页面在page_load时,都有一个判断:string cookieyonghuming,cookieislogin;
try
{
HttpCookie cookie = Request.Cookies ["yonghu"] ;
cookieyonghuming = cookie["yonghuming"].ToString();
cookieislogin = cookie["islogin"].ToString();
if(cookieislogin!="yes")
{
Response.Write("<script language=javascript>alert('您无权访问本页,请先登录');location.href='../login.aspx';</script>");
}
}
catch (Exception)
{
Response.Write("<script language=javascript>alert('错误:您无权访问本页,请先登录');location.href='../login.aspx';</script>");
}结果,页面总是无故提示:您无权访问本页,请先登录
从这里看,不是cookie不存在,而是cookie的结果不正确,但不是每次都这样,有时顺利,有时不行。
大家帮帮忙,看看是怎么回事啊!!!谢谢,不尽
你使用Cookies的方法是没有问题的.
cookieislogin = cookie["islogin"].ToString();
if(cookieislogin!="yes")
{
Response.Write("<script language=javascript>alert('您无权访问本页,请先登录');location.href='../login.aspx';</script>");
}
你调试一下看看这个地方cookieislogin的值是多少
{
Response.Write("<script language=javascript>alert('您无权访问本页,请先登录');location.href='../login.aspx';</script>");
}
}
catch (Exception)
{
Response.Write("<script language=javascript>alert('错误:您无权访问本页,请先登录');location.href='../login.aspx';</script>");
}//先看看提示信息是由哪一段Response出来的,然后看看
//if(cookieislogin!="yes")的cookieislogin值
//然后
//看看出错原因
catch (Exception)
{
Response.Write(Exception.ToString());
{
Response.Write("<script language=javascript>alert('您无权访问本页,请先登录');location.href='../login.aspx';</script>");
}
}
catch (Exception)
{
Response.Write("<script language=javascript>alert('错误:您无权访问本页,请先登录');location.href='../login.aspx';</script>");
}//先看看提示信息是由哪一段Response出来的,然后看看
//if(cookieislogin!="yes")的cookieislogin值
//然后
//看看出错原因
catch (Exception ex)
{
Response.Write(ex.ToString());
HttpCookie mycookie=new HttpCookie("yonghu");
mycookie["yonghuming"]=dr["yonghu"].ToString();
mycookie["islogin"]="yes";
mycookie.Expires = DateTime.Now.AddDays(1);
Response.Cookies.Add(mycookie);