Cookie 获取值时 类型转换、

著名天才___ 2011-07-08 09:24:36
保存时、
Response.Cookies["user"] = u;
Response.Cookies["user"].Expires = DateTime.Now.AddDays(1);
获取时、
Users u=Request.Cookies["user"];

回去时怎么转换成 Users. Users是某个实体类

Users u=Request.Cookies["user"] as Users; 为何这样不行了呢
...全文
132 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
leujunbao 2011-07-08
  • 打赏
  • 举报
回复

/// <summary>
/// 创建COOKIE对象并赋多个KEY键值
/// 设键/值如下:
/// NameValueCollection myCol = new NameValueCollection();
/// myCol.Add("red", "rojo");
/// myCol.Add("green", "verde");
/// myCol.Add("blue", "azul");
/// myCol.Add("red", "rouge"); 结果“red:rojo,rouge;green:verde;blue:azul”
/// </summary>
/// <param name="strCookieName">COOKIE对象名</param>
/// <param name="iExpires">COOKIE对象有效时间(秒数),1表示永久有效,0和负数都表示不设有效时间,大于等于2表示具体有效秒数,31536000秒=1年=(60*60*24*365),</param>
/// <param name="KeyValue">键/值对集合</param>
public static void SetObj(string strCookieName, int iExpires, NameValueCollection KeyValue)
{
HttpCookie objCookie = new HttpCookie(strCookieName.Trim());
foreach (String key in KeyValue.AllKeys)
{
objCookie[key] = HttpContext.Current.Server.UrlEncode(KeyValue[key].Trim());
}
if (iExpires > 0)
{
if (iExpires == 1)
{
objCookie.Expires = DateTime.MaxValue;
}
else
{
objCookie.Expires = DateTime.Now.AddSeconds(iExpires);
}
}
HttpContext.Current.Response.Cookies.Add(objCookie);
}
机器人 2011-07-08
  • 打赏
  • 举报
回复
cookie里存放都是string,除非你自己序列化反序列化。

leujunbao 2011-07-08
  • 打赏
  • 举报
回复
你这写法太疯狂了吧,直接将实体放到cookie里
/// <summary>
/// 创建COOKIE对象并赋多个KEY键值
/// 设键/值如下:
/// NameValueCollection myCol = new NameValueCollection();
/// myCol.Add("red", "rojo");
/// myCol.Add("green", "verde");
/// myCol.Add("blue", "azul");
/// myCol.Add("red", "rouge"); 结果“red:rojo,rouge;green:verde;blue:azul”
/// </summary>
/// <param name="strCookieName">COOKIE对象名</param>
/// <param name="iExpires">COOKIE对象有效时间(秒数),1表示永久有效,0和负数都表示不设有效时间,大于等于2表示具体有效秒数,31536000秒=1年=(60*60*24*365),</param>
/// <param name="KeyValue">键/值对集合</param>
public static void SetObj(string strCookieName, int iExpires, NameValueCollection KeyValue)
{
HttpCookie objCookie = new HttpCookie(strCookieName.Trim());
foreach (String key in KeyValue.AllKeys)
{
objCookie[key] = HttpContext.Current.Server.UrlEncode(KeyValue[key].Trim());
}
if (iExpires > 0)
{
if (iExpires == 1)
{
objCookie.Expires = DateTime.MaxValue;
}
else
{
objCookie.Expires = DateTime.Now.AddSeconds(iExpires);
}
}
HttpContext.Current.Response.Cookies.Add(objCookie);
}
快乐的小二兔 2011-07-08
  • 打赏
  • 举报
回复
貌似不可以转吧。。。他里面放的东西建议就是字符串等内容 实体的话他会给转成Object
Users u=(user)Request.Cookies["user"]
试试这样行不行 如果不行那就继续坐等大侠吧。

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧