我如何使用一个 cookie 对象获取所有键或值
本文关键字:获取 对象 cookie 一个 何使用 | 更新日期: 2023-09-27 18:35:21
我使用 cookie 将数据发送到其他页面。
var list = (from d in dc.Admins
where d.AdminId == data.UserId
select d).FirstOrDefault();
// Make object for cookie
HttpCookie cAdmin = new HttpCookie("cAdmin");
// now add values to cookie cAdmin
cAdmin.Values.Add("adminId",list.AdminId.ToString());
cAdmin.Values.Add("adminName",list.Name.ToString());
Response.Cookies.Add(cAdmin);
// you also set expires time
//cAdmin.Expires = DateTime.Now.AddDays(1);
Response.Redirect("~/Admin Folder/MainPageAdmin.aspx");
并在名为 MainPageAdmin.aspx
的页面中获取值。
string adminId = Request.Cookies["cAdmin"]["adminId"];
string adminName = Request.Cookies["cAdmin"]["adminName"];
lblAdminId.Text = adminId;
lblAdminName.Text = adminName;
现在它只有两个用于测试目的的键,但我想发送完整的对象。它包含 10 - 15 个字段。
我这里有两个问题。
问题 1.是否可以将LINQ查询结果的对象添加到cookie中。
例如
var list = (from d in dc.Admins
where d.AdminId == data.UserId
select d).FirstOrDefault();
// Make object for cookie
HttpCookie cAdmin = new HttpCookie("cAdmin");
// now add complete oject to cookie cAdmin
cAdmin.Values.Add("admin","list");
如果是,那么如何以及如果不是,那么为什么?
问题 2.如果 Q1 的答案是否定的,那么是否可以使用 cookie 对象访问键名。
例如
我有cookie对象cAdmin
,我想像cAdmin.keyname
一样从这个对象访问所有键名。
因为要记住所有键的名称是非常困难的。请帮忙。
var list = (from d in dc.Admins
where d.AdminId == data.UserId
select d).FirstOrDefault().ToDictionary<TKey,Tvalue>(delegateMethod);
foreach(var entry in list)
{
cAdmin.Values.Add(entry.Key,entry.Value);
}