asp.net mvc控制器中保存变量和将变量读取到会话时出现问题

asp.net mvc控制器中保存变量和将变量读取到会话时出现问题,asp.net,asp.net-mvc,asp.net-mvc-3,session,Asp.net,Asp.net Mvc,Asp.net Mvc 3,Session,我想在会话中存储一个简单的变量,以便能够从不同的控制器获取其值 在我的控制器中,我尝试通过以下方式保存变量: HttpContext.Session.Add("CurrentPage",index.ToString()) Session["CurrentPage"] = index.ToString(); 这样: HttpContext.Session.Add("CurrentPage",index.ToString()) Session["CurrentPage"] = index.

我想在会话中存储一个简单的变量,以便能够从不同的控制器获取其值

在我的控制器中,我尝试通过以下方式保存变量:

HttpContext.Session.Add("CurrentPage",index.ToString()) 
Session["CurrentPage"] = index.ToString();
这样:

HttpContext.Session.Add("CurrentPage",index.ToString()) 
Session["CurrentPage"] = index.ToString();
但当我试着阅读课文时:
var currPage=Session[“CurrentPage”]
我什么也得不到。变量未初始化且未显示在“本地调试”窗口中

我做错了什么


现在我已经决定使用cookies来完成这项任务,但无论如何,我对可能的解决方案感兴趣。可能其他人也会遇到同样的问题,并会搜索解决方案。

如果您想在控制器中将值从一种方法传递到另一种方法,请尝试此方法

TempData["Data"] = index.ToString();
并检索回数据 使用


在我看来是正确的。你确定你的会话在设置和读取变量之间没有失效吗?@Tom如何检查我的会话是否失效?正如我之前所想,TempData用于在一个reirect中传递数据。如果有更多重定向,TempData将被擦除。在我的情况下,在保存到TempData/Session和从中读取之间,我将有多个重定向。