cs_jorrie
Messages postés62Date d'inscriptionmardi 24 mai 2005StatutMembreDernière intervention23 mai 2007
-
11 oct. 2006 à 11:45
cs_jorrie
Messages postés62Date d'inscriptionmardi 24 mai 2005StatutMembreDernière intervention23 mai 2007
-
11 oct. 2006 à 19:51
Bonjours, j'aimerais créer un tableau de personne que je stockerais
dans une variable session mais lorsque j'essaie il me met erreur de
reference a l'objet: voici mon code:
//Création d'un tableau d'utilisateur
Fonctions_Globales.Utilisateur_pilotage[] tab = new Fonctions_Globales.Utilisateur_pilotage[50];
tab[0].nom="Jerem"; -> ceci me crée l'erreur en question .
//voici ce qui se trouve dans Fonctions_Globales.Utilisateur_pilotage :
jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 201029 11 oct. 2006 à 17:44
Je sais pas ce que tu cherches à faire mais voici comment je ferrais :
public List Utilisateurs
{
get
{
return Session["Users"] as List;
}
set
{
Session["Users"] = value;
}
}
et ensuite ou que tu sois tu fais un
Utilisateur user = new Utilisateur()
user.truc = "chose";
Utilisateurs.Add(user);
Ensuite si tu veux accéder à cette variable session n'importe ou dans ton site, tu fais un helper donc une classe static que tu met dans le dossier app_code
public static class SessionHelper
{
public static List Utilisateurs
{
get
{
List value = System.Web.HttpContext.Current.Session["Users"] as List;
if (value == null)
value = new List();
}
set
{
System.Web.HttpContext.Current.Session["Users"] = value;
}
}
}
Maintenant n'importe ou dans ton code tu peux aceder à cette variable en faisant SessionHelper.Utilisateurs.
Si tu veux rajouter des utilisateurs tu peux utiliser les méthodes de List<> à savoir Add, RemoveAt, Insert, Clear.
jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 201029 11 oct. 2006 à 12:07
Bonjour,
c'est normal car en faisant new Utilisateur_pilotage[50] tu déclares une variable qui contiendra 50 objets, mais tu ne créer (heureusement) pas 50 objects. Il faut donc que tu le créer avant de lui faire quoi que ce soir donc
tab[0] = new Utilisateur_pilotage();
tab[0].nom = "Jerem";
pour des raisons de perf, je te conseille de faire
Utilisateur u = new Utilisateur();
u.nom = "Jerem";
tab[0] = u;
Cela évitera à ton code d'aller chercher la variable à chaque fois dans le tableau (peut etre que le compilo optimise ca mais pas sur)
Autre détails, généralement on utilise un ArrayList pour ce genre de choses car c'est plus souple (mais peut etre que tu n'en as pas besoin) en .net 2 il y a meme des ArrayList generics on peut donc faire
List us = new List();
Utilisateur u = new Utilisateur();
u.nom = "Jerem";
cs_jorrie
Messages postés62Date d'inscriptionmardi 24 mai 2005StatutMembreDernière intervention23 mai 2007 11 oct. 2006 à 12:17
Ca a l'air de marcher mais j'aimerais stocké ce tableau dans une
variable session et pouvoir ainsi recuperer le nom d'un utilisateur
voivi comment je procede mais ca a pas l'air de marcher:
cs_jorrie
Messages postés62Date d'inscriptionmardi 24 mai 2005StatutMembreDernière intervention23 mai 2007 11 oct. 2006 à 14:06
Pour expliquez un peu plus le probleme , j'aimerais recuperer ce que je
viens de mettre dans ma session afin de rajouter un utilisateur et de
conserver les utilisateurs precedemment inserer