脚本的cookie:
document.cookie="key=aaaa;expires=datetime"
datetime:有效日期
read:document.cookie
document.cookie="key=aaaa;expires=datetime"
datetime:有效日期
read:document.cookie
解决方案 »
- 上传问题,大虾进
- 正则问题
- 登录验证码
- 有人用IBE接口做过机票查询系统吗
- DataGrid中自动生成了一个BoundColumn列,请问怎么触发按钮列的事件呢 。
- 如何在asp.net下实现关系型数据库到XML的数据交换
- 网页中有向一个文件写数据库的操作。
- 我的aspx页面上调用了一个activex控件 是在服务器上的 客户端访问的时候看不到这个控件请问有什么方法可以让客户端不用注册这个控件也能
- DATADRID模板列里CheckBox,报错对象不存在(单元格值null引起)!先判定还错。
- 这是什么错误吗?怎么改
- 在datagrid事件函数取不到一个全局变量的值?
- c#.asp.net如何获取其他服务器上的网页?
string temp=Session["temp"].ToString();
设置Cookie:
HttpCookie xpcookie=new HttpCookie("param");
xpcookie.Values.Add("YYYY",TempYear);
xpcookie.Values.Add("MM",TempMonth);
xpcookie.Values.Add("Selflag",TempFlag);
xpcookie.Values.Add("Selvalue",TempValue);
Response.AppendCookie(xpcookie);
接到Cookie://得到Cookie值
HttpCookie getCookie=Request.Cookies["param"];
getyear=getCookie.Values["YYYY"].ToString();
getmonth=getCookie.Values["MM"].ToString();
flagSel=getCookie.Values["Selflag"].ToString();
string valueSel1=getCookie.Values["Selvalue"].ToString();如果是单个变量:
设置:
HttpCookie curCookie=new HttpCookie("pass");
curCookie.Value="yes";
Response.AppendCookie(curCookie);接到:
HttpCookie curCookie=Request.Cookies["pass"];
if(curCookie==null)
{
……
}
else
{
string curValue=curCookie.Value.Trim();
……
}上面的Cookie都没有设置时间过期的值,这样就是IE关掉cookie就自动删除。
即使是那个IE不关掉,新开一个新的页面,输入跟刚才一样的路径,那么
这个页面还是拿不到Cookie值的。
也就是说,从刚才那个页面连接出去的页面可以取到,新页面输入路径是取不到的。
这是我以前碰到的问题。(前提是不设cookie的时间过期的参数)。
而且前后两次设置的值是一样的,这样就给你一个误解,以为是原来的cookie没有释放掉。
譬如初打开一个页面,先检查cookie,如果没有,则设置(如果自动设置,这样就有问题,至少要有一个事件触发一下,或者转到其他页面,譬如认证页面,在认证后设置)。
新打开一个IE,输入任何一个路径,它应该查不到cookie,自动进入登陆页面吧。你现在呢?任意输入路径,都可以进去。
或者你会不会有这个问题,你页面进去以后,其实绕过了Cookie认证。
你Response.Write(Cookie值)看一下,
看看能否得到cookie值。或许根本就会绕过了Response.Write(cookie值)
这条语句也不一定呢?
HttpCookie xpcookie=new HttpCookie("Session");
xpcookie.Expires = DateTime.MaxValue;
xpcookie.Values.Add("SessID",sessid);
xpcookie.Values.Add("OPTrueName",optruename);
xpcookie.Values.Add("OPID",opid);
Response.AppendCookie(xpcookie);
Response.Redirect("Home.aspx",false);
然后在Home.aspx中如下:
HttpCookie getCookie=Request.Cookies["Session"];
string sessid= getCookie.Values["SessID"].ToString();
string truename= getCookie.Values["OPTrueName"].ToString();
string opid= getCookie.Values["OPID"].ToString();
Response.Write("SessID:"+sessid+"|| TrueName:"+truename+"|| OPID:"+opid);
关掉IE后再打开IE,在地址栏直接输入:http://localhost/Home.aspx,执行如下语句,发现Cookie的值仍然存在。
我上面不是说不要加参数吗?
加了这句话,Cookie就不会被自动的删除掉,除非过了设定的时间。
而你又设了个最大值。
你不如建一个测试项目,然后就写cookie的设置和取值。看一下效果。
因为你现在Login和Home页面的代码已经写的很多了,检查问题的时候会有些乱。
或者你可以把那两个页面发给我看看,如果你愿意的话。
[email protected]