我需要将我的变量分配给会话。我试过这个:
string name = string.Empty
Session["N"] = name;
它不起作用。
Error 1 Invalid token '[' in class, struct, or interface member declaration
Error 2 Invalid token '"N"' in class, struct, or interface member declaration
Error 3 Identifier expected
我哪里错了?
我在Visual Studio 2008中使用ASP.net。
错误1类,结构或接口成员声明中的标记'['无效 错误2类,结构或接口成员声明中的标记“N”无效 错误3预期标识符
答案 0 :(得分:3)
缺少;
第一行的结尾。
string name = string.Empty;
Session["N"] = name;
string test= Session["N"].ToString();//Catch Your session
答案 1 :(得分:0)
该代码没有任何问题(除了缺少分号,正如Shree Khanal指出的那样,但这不是问题,对吧?)。
只要代码在页面类中,Session
属性就可用。如果您将代码放在不同的类中,那么您没有Session
属性可用,那么您需要从当前上下文中获取它:
HttpContext.Current.Session["N"] = name;
从会话集合中读取值时,类型为Object
,而不是String
,因此您需要将其转换为:
string name = Session["N"] as string;
使用as
关键字意味着您可以尝试读取该值,即使该值不存在,或者它恰好设置为其他数据类型。在这种情况下,您将获得null
参考。