C# 无法识别会话变量

C# 无法识别会话变量,c#,asp.net,session-variables,C#,Asp.net,Session Variables,给出故障信息: 错误2当前上下文中不存在名称“会话” 我认为session这个词是智能意义上的。会话变量在global.asax中声明 string Landcode = Session("landcode"); `这是如何在ASP.NET和C中使用会话# 请尝试并告诉我们结果使用HttpContext.Current.Session[“landcode”] 会话是一种字典,因此您可以使用[]对其进行索引,而不是使用方法调用ie() 在C#中,您还必须强制转换每个对象,因此当使用(string

给出故障信息:

错误2当前上下文中不存在名称“会话”

我认为session这个词是智能意义上的。会话变量在global.asax中声明

string Landcode = Session("landcode");

`这是如何在ASP.NET和C中使用会话#


请尝试并告诉我们结果

使用
HttpContext.Current.Session[“landcode”]

会话是一种字典,因此您可以使用
[]
对其进行索引,而不是使用方法调用ie
()


在C#中,您还必须强制转换每个对象,因此当使用
(string)
获取字符串对象之前,当使用
(int)
等获取int对象之前,您尝试从何处访问会话对象

获取会话值的代码为(在调用.ToString()之前,您还需要检查它是否为非null):

请求对象和会话对象也不是同一个对象。您必须执行以下操作才能将土地代码添加到会话中:

  string landcode = Session["landcode"].ToString();

请在向下投票时留下评论!!我也试过了,但是字符串Landcode(所以第一个)似乎没有被会话变量填充。我将第二个代码稍微更改为string Landcode=“BE”。但是字符串Landcode仍然为空。我有一个aspx页面(default.aspx)在javascript部分,有一个ajax调用将countrycode发送到global.asax($.post(“global.asax”),{strLandCode:LandCode};)这就是我编写字符串LandCode=Request[“strLandCode”]的方式,我再次调试了它,我想我知道它在哪里不起作用(字符串strLandCode=Request[“strLandCode”];)strLandCode仍然为空
//This how to add value in session "ID" Is the name of the session and "1" is the value
Session.Add("ID", 1);
//How to retrieve the value which is in the Session 
int ID = Convert.ToInt16(Session["ID"]);
//write session Value
Response.Write(ID.ToString());
  string landcode = Session["landcode"].ToString();
Session["landcode"] = strLandCode;