【发布时间】:2016-07-25 03:10:30
【问题描述】:
我正在尝试将“Person”类型的对象存储在会话变量中。 Session 变量的存储方式如下:
public void SelectPerson(int ID)
{
Person person = db.People.Where(p => p.ID == ID).FirstOrDefault();
Session["PersonID"] = ID;
Session["Person"] = person;
}
我稍后会尝试使用这个会话变量,但它总是返回为 null
Person person = (Person) Session["Person"];
我不确定为什么这不起作用。有没有人有任何想法?感谢您的帮助。
【问题讨论】:
-
取决于 Person 类的实现,可能转换失败,因此返回的数据为空。
-
您的配置中是否启用了 Session?
-
@Bardo 你能详细说明一下吗?存储 ID 的会话变量是一个测试,即使 ID 有值,会话变量仍然为空。
-
@Paddy 这可能是我认为的问题 - 我不确定这意味着什么或我会怎么做。
-
1.任何会话都有效吗? 2.如果是,数据库是否返回上面代码中的值?
标签: c# asp.net-mvc session session-variables session-cookies