ASP.net如何使用会话?

时间:2012-01-24 09:51:43

标签: asp.net visual-studio visual-studio-2008

我需要将我的变量分配给会话。我试过这个:

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预期标识符

2 个答案:

答案 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参考。