在A.aspx页面中按钮触发:HttpCookie pcook = new HttpCookie("uInfo");
pcook.Values["Name"] = "jock";
pcook.Values["Type"] = "1";
pcook.Expires = DateTime.Now.AddDays(1);
Response.AppendCookie(pcook);然后跳转到B.aspx页面:
protected void Page_Load(object sender, EventArgs e)
{
HttpCookie cook = Request.Cookies["uInfo"];
string cookstr = cook.Values["Name"];
Response.Write(cookstr);
}
错误:
string cookstr = cook.Values["Name"]; 这句报错“未将对象引用设置到对象的实例”看来是cookie没写上,这是哪步出错了啊
pcook.Values["Name"] = "jock";
pcook.Values["Type"] = "1";
pcook.Expires = DateTime.Now.AddDays(1);
Response.AppendCookie(pcook);然后跳转到B.aspx页面:
protected void Page_Load(object sender, EventArgs e)
{
HttpCookie cook = Request.Cookies["uInfo"];
string cookstr = cook.Values["Name"];
Response.Write(cookstr);
}
错误:
string cookstr = cook.Values["Name"]; 这句报错“未将对象引用设置到对象的实例”看来是cookie没写上,这是哪步出错了啊
解决方案 »
- 请教:aspx访问狂慢但html访问很快可能是什么原因?
- 有人说不带www的顶级域名解析最慢最易出错,果然?
- 根据不同条件显示不同的内容一点小问题
- 定时发送邮件的问题
- vs.net2003 + vss2005
- 请教:asp.net可以写这样功能的程序吗?
- 如下代码在C#中怎么写?
- 求webmenu 2。1(v2.1.71或v2.1.73) for asp.net 的注册码?
- 做1个web页面的文件管理系统,管理网站的文件,请问哪里有那些文件图标下载啊? 就是txt,word,excel等类型的图标
- SQL查询某个字段为指定类型(字母字母数字数字数字-数字)的数据
- 在C#20里fileupload控件上传图片后怎么获取图片的长和宽啊
- asp.net mvc 显示列表的问题
if(cook!=null)
{
string cookstr = cook.Values["Name"];
Response.Write(cookstr);
}
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Button ID="btnShow" runat="server" Text="显示cookie [Name]"
onclick="btnShow_Click" />
<asp:Button ID="btnSet" runat="server" Text="设置cookie [Name]"
onclick="btnSet_Click" />
<asp:Button ID="btnDel" runat="server" Text="删除cookie [Name]"
onclick="btnDel_Click" />
</div>
</form>
</body>
</html>
protected void btnShow_Click(object sender, EventArgs e)
{
if (Request.Cookies["Name"] == null)
{
Response.Write("Cookies[Name] 不存在");
}
else
{
Response.Write(string.Format("Cookies[Name]:{0}", Request.Cookies["Name"].Value));
}
}
protected void btnSet_Click(object sender, EventArgs e)
{
if (Request.Cookies["Name"] == null)
{
HttpCookie hc = new HttpCookie("Name", "Sandy");
hc.Expires = DateTime.Now.AddDays(1);
Response.Cookies.Add(hc);
}
else
{
Response.Cookies["Name"].Value = "Sandy";
Response.Cookies["Name"].Expires = DateTime.Now.AddDays(1);
}
}
protected void btnDel_Click(object sender, EventArgs e)
{
if (Request.Cookies["Name"] != null)
{
Response.Cookies["Name"].Expires = DateTime.Now.AddDays(-1);
}
}
pcook.Values["Name"] = "jock";
pcook.Values["Type"] = "1";
pcook.Expires = DateTime.Now.AddDays(1);
Response.AppendCookie(pcook); ---------
也许你的按钮点击代码以后马上跳转导致A页面回传数据没完成就到B页面了,导致cookie没进入客户端,
在这段代码后加上Response.Flush();后再跳转试试
if(cook!=null) 但是为什么会取不到cookies就要靠楼主自己调试才清楚了
你的写法好怪,是正确的吗?
建议:
pcook.Values["Name"] = "jock";
pcook.Values["Type"] = "1";
改为
pcook.["Name"] = "jock";
pcook.["Type"] = "1";将
HttpCookie cook = Request.Cookies["uInfo"];
string cookstr = cook.Values["Name"];
改为
string cookstr = Request.Cookies["uInfo"]["Name"];
建议:
pcook.Values["Name"] = "jock";
pcook.Values["Type"] = "1";
改为
pcook["Name"] = "jock";
pcook["Type"] = "1"; 将
HttpCookie cook = Request.Cookies["uInfo"];
string cookstr = cook.Values["Name"];
改为
string cookstr = Request.Cookies["uInfo"]["Name"];