est-il possible de stocker la liste dans une variable de session en Asp.net C #?
Oui, vous pouvez stocker n'importe quel objet (je suppose que vous utilisez ASP.NET avec les paramètres par défaut, qui est l'état de session en cours):
Session["test"] = myList;
Vous devez le restituer au type d'origine pour l'utiliser:
var list = (List<int>)Session["test"];
// list.Add(something);
Comme le souligne Richard, vous devez faire très attention si vous utilisez d'autres modes d'état de session (par exemple SQL Server) qui nécessitent que les objets soient sérialisables.
Oui. Pour quelle plateforme écrivez-vous? ASP.NET C #?
List<string> myList = new List<string>();
Session["var"] = myList;
Ensuite, pour récupérer:
myList = (List<string>)Session["var"];
J'ai trouvé dans un fichier de classe en dehors de la portée de la page, la méthode ci-dessus (que j'ai toujours utilisée) ne fonctionnait pas.
J'ai trouvé une solution de contournement dans ce "contexte" comme suit:
HttpContext.Current.Session.Add("currentUser", appUser);
et
(AppUser) HttpContext.Current.Session["currentUser"]
Sinon, le compilateur attendait une chaîne lorsque j'ai pointé l'objet vers l'objet session.
YourListType ListName = (List<YourListType>)Session["SessionName"];
Essaye ça..
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