Session对象不存储值

时间:2012-06-07 18:24:12

标签: c# asp.net

我目前正在创建一个网页,我想将一个与网站当前访问者相关的对象转移到另一个页面。我选择使用Session项执行此操作。但似乎有一个问题,我在一个页面上声明它的价值如下:

Session["CurrentAccount"] = new Account(tb_username.text, tb_password.text);

想要在另一个页面上检索这些数据:

Account currAccount = (Account)Session["CurrentAccount"];

每当我尝试这样做时,就会发生nullreferenceexception。 Account类未标记为可序列化。这两个页面都在同一个应用程序下运行。

编辑:我试图做同样的事情,但是将常规字符串绑定到会话,这也不起作用。

3 个答案:

答案 0 :(得分:2)

Serializable仅计算SQL Session。将它放入会话时会引发异常。

直接将会话分配给“新对象”时遇到了同样的问题。首先尝试创建实例,然后将实例分配给会话!

答案 1 :(得分:0)

答案 2 :(得分:-3)

我已经弄清楚出了什么问题,显然你不能将自定义对象存储到会话中,但问题完全相同,但用常规字符串替换了Account,它确实有效。谢谢你的帮助。

TL; DR您显然无法在会话中存储标准对象以外的对象。