我有一个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'是不可为空的值类型)
答案 0 :(得分:7)
从documentation(我的重点):
您可以使用as运算符在兼容的引用类型或可空类型之间执行某些类型的转换
int
是值类型,而不是引用类型,因此无法使用as
运算符,因此您需要使用'经典'方法来转换值。
int x = (int)System.Web.HttpContext.Current.Session["MyValue"];