商店列表会话

是否有可能存储列表会话variables在Asp.net C#?

是的,你可以存储任何对象(我假设你使用的ASP.NET默认设置,这是进程中的会话状态):

Session["test"] = myList; 

您应该将其重新转换为原始types以供使用:

 var list = (List<int>)Session["test"]; // list.Add(something); 

正如Richard指出的那样,如果您使用的其他会话状态模式(例如SQL Server)需要对象可序列化,则应该格外小心。

是。 你在写什么平台? ASP.NET C#?

 List<string> myList = new List<string>(); Session["var"] = myList; 

然后,检索:

 myList = (List<string>)Session["var"]; 

我发现在页面范围外的一个类文件中,上面的方式(我总是用)没有工作。
我在这个“上下文”中find了一个解决方法,如下所示:

 HttpContext.Current.Session.Add("currentUser", appUser); 

 (AppUser) HttpContext.Current.Session["currentUser"] 

否则,当我指向会话对象的对象时,编译器期待一个string。

尝试这个..

  List<Cat> cats = new List<Cat> { new Cat(){ Name = "Sylvester", Age=8 }, new Cat(){ Name = "Whiskers", Age=2 }, new Cat(){ Name = "Sasha", Age=14 } }; Session["data"] = cats; foreach (Cat c in cats) System.Diagnostics.Debug.WriteLine("Cats>>" + c.Name); //DEBUGGG 
 YourListType ListName = (List<YourListType>)Session["SessionName"];