UserControl et propriété [Résolu]

Signaler
Messages postés
18
Date d'inscription
vendredi 10 novembre 2000
Statut
Membre
Dernière intervention
21 octobre 2006
-
Messages postés
18
Date d'inscription
vendredi 10 novembre 2000
Statut
Membre
Dernière intervention
21 octobre 2006
-
Bonjour à tous,

Je viens de ma palucher une qté impressionnante de site pour trouver une aide pour mon ptit problème. Mais rien
Alors je m'adresse à vous en espérant que vous pourrez m'aider.

Mon problème est relativement simple.
J'ai créé un user Control chargé d'afficher 4 labels (ces labels sont remplis à partir d'une string de type "nom_connecte;prenom_connect;grade;identifiant" contenue dans un cookie). Dans mon contrôle, j'ai ajouté un champ property (je code en VB.NET) contenant seulement l'identifiant (dans le page_load, je met à jour sa valeur).

Dans 2 de mes pages ASPX de mon appli, j'ai fait glissé, via VS2003, ce control en haut des pages, de façon à ce que je vois sur chacune d'entre elles les 4 valeurs mentionnées. Jusque là, tout fonctionne.
Dans une des pages ASPX, j'ai besoin de récupérer dès l'ouverture l'identifiant de la personne. Du coup, j'accède à mon userControl et je tente de lire la propriété sensé stocker cette valeur.

Et là, c'est le drame ! la propriété ne contient aucune valeur tant que la page n'a pas été reloadé une 2e fois !
Alors, je tends à penser que mon User Control est chargé trop tard par rapport au moment (dans le page_load de ma page ASPX) où je fais appel à la propriété.

Comment faire ?

2 réponses

Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
27
Bonjour,

La page_load des Controls se déclenchent tout de suite aprés celui de la page ...

L'astuce est donc d'utiliser l'evenement load_complete de ta page ou alors d'utiliser l'evenement init de tes usercontrols ... ou encore de faire mettre le code de chargement de données lors du getter de la propriété (avec "un singleton" pour éviter de bouffer des perfs inutiles)

<hr />Cyril - MVS - MCP
Messages postés
18
Date d'inscription
vendredi 10 novembre 2000
Statut
Membre
Dernière intervention
21 octobre 2006
1
Effectivement, en mettant le code dans le init de mon user control, j'ai résolu le problème.


Par contre, où puis-je trouver toutes les définitions des événements
d'une page ? avec VS 2003, ça ne me génère que le page_load. Du coup,
je ne connais pas les autres, ni leur définition (les paramètres qu'ils
utilisent).


Merci beaucoup.