Подтвердить что ты не робот

Список магазинов для сеанса

Можно ли сохранить список в переменной сеанса в Asp.net С#?

4b9b3361

Ответ 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"];