将整个模型类成员存储在会话中

时间:2013-02-18 20:51:46

标签: c# asp.net asp.net-mvc asp.net-mvc-3 asp.net-mvc-4

在新创建的MVC4应用程序中,我想将所有USERProfile成员存储在一个会话中,以便我可以在用户登录后访问所有值。但是Session数组对象只提出了2个替代

Session[int]/Session[string]

我需要检索

Session['username']; Session['age']; etc

该课程中存在的任何内容。

2 个答案:

答案 0 :(得分:9)

您可以存储

Session["UserProfile"]=UserProfile; // User Profile being an object

需要注意的是,当您检索个人资料时,必须将其投射:

UserProfile profile = (UserProfile) Session["UserProfile"]

答案 1 :(得分:0)

您列出的是可用于访问会话中某些内容的密钥。密钥可以是int或字符串。

简单地做

Session.Add("MyProfile", USERProfileObject);

您可以将整个对象存储在会话中。

请注意:http://msdn.microsoft.com/en-us/library/system.web.sessionstate.httpsessionstate.add.aspx

表明它需要一个字符串和一个对象。