Можно ли сохранить список в переменной сеанса в Asp.net С#?
Список магазинов для сеанса
Ответ 1
Да, вы можете сохранить любой объект (я предполагаю, что вы используете ASP.NET с настройками по умолчанию, который находится в состоянии сеанса в процессе):
Session["test"] = myList;
Вы должны вернуть его к исходному типу для использования:
var list = (List<int>)Session["test"];
// list.Add(something);
Как указывает Ричард, вы должны проявлять особую осторожность, если используете другие режимы состояния сеанса (например, SQL Server), которые требуют, чтобы объекты были сериализуемыми.
Ответ 2
Да. На какой платформе вы пишете? ASP.NET С#?
List<string> myList = new List<string>();
Session["var"] = myList;
Затем, чтобы получить:
myList = (List<string>)Session["var"];
Ответ 3
Я нашел в файле класса вне области страницы, этот способ (который я всегда использовал) не работал.
Я нашел обходное решение в этом "контексте" следующим образом:
HttpContext.Current.Session.Add("currentUser", appUser);
и
(AppUser) HttpContext.Current.Session["currentUser"]
В противном случае компилятор ожидал строку, когда я указал объект на объект сеанса.
Ответ 4
Попробуйте это.
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
Ответ 5
YourListType ListName = (List<YourListType>)Session["SessionName"];