如何在ASP.Net MVC中访问会话变量

时间:2017-01-24 21:23:12

标签: c# asp.net asp.net-mvc session asp.net-mvc-5

我有一个ASP.Net MVC 5 Web应用程序,我想在会话中设置一个变量,以便我以后可以访问它。由于我是初学者,我不知道如何实现它。以下是我的尝试

clsUser user = mdlUser.GetUserForSession();
System.Web.HttpContext.Current.Session["MyValue"] = user.SessionID; // user.SessionID is an integer
int x =  System.Web.HttpContext.Current.Session["MyValue"] as int; // Access

但我得错误为

  

as运算符必须与引用类型或可空类型一起使用('int'是不可为空的值类型)

SO LINK REFERRED

1 个答案:

答案 0 :(得分:7)

documentation(我的重点):

  

您可以使用as运算符在兼容的引用类型或可空类型之间执行某些类型的转换

int是值类型,而不是引用类型,因此无法使用as运算符,因此您需要使用'经典'方法来转换值。

int x = (int)System.Web.HttpContext.Current.Session["MyValue"];