【问题标题】:ASP.net how to use sessions?ASP.net 如何使用会话?
【发布时间】:2012-02-17 13:50:07
【问题描述】:

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

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

【问题讨论】:

  • 为什么不起作用?发生什么了?你有任何错误吗?
  • “它不起作用”没有帮助。
  • 你所说的“它不会工作”是什么意思?
  • 我得到 ["N"] 下划线的消息:"Identifier expected"
  • 我更新了有错误的问题。

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


【解决方案1】:

缺少; 第一行的结尾。

string name = string.Empty;
Session["N"] = name;
string test= Session["N"].ToString();//Catch Your session

【讨论】:

  • ;复制过程中丢失。我得到了 ["N"] 下划线的消息:“需要标识符”。
  • 将您的代码放入Page_Load 并检查它的工作与否?它的工作完美D:)。
【解决方案2】:

该代码没有任何问题(除了缺少分号,正如 Shree Khanal 指出的那样,但这不是问题,对吧?)。

只要代码在页面类中,Session 属性就可用。如果您的代码在不同的类中,但您没有可用的 Session 属性,那么您需要从当前上下文中获取它:

HttpContext.Current.Session["N"] = name;

从会话集合中读取值时,类型是Object,而不是String,所以需要强制转换:

string name = Session["N"] as string;

使用as 关键字意味着您可以尝试读取该值,即使它不存在,或者它碰巧设置为不同的数据类型。在这种情况下,您将获得 null 引用。

【讨论】:

    猜你喜欢
    • 2010-09-25
    • 2011-10-30
    • 1970-01-01
    • 2012-09-27
    • 1970-01-01
    • 2010-11-09
    • 1970-01-01
    • 2011-07-16
    • 1970-01-01
    相关资源
    最近更新 更多