ok j'essaie d'appliquer ceci à mon projet et je reviens vers toi pour des news
ok j'essaie d'appliquer ceci à mon projet et je reviens vers toi pour des news
alors non seulement ca marche toujours pas , mais en plus les évènements de mon webusercontrol ne sont plus levés
en fait la différence entre ton exemple et mon pblm, c'est que chez moi le control qui provoque le postback fait partie du webusercontrol, je vais essayer de modifier ton exemple pour voir comment ca se comporte
Je viens de faire un test en ajoutant un bouton dans les controles chargés dynamiquement (si c'est bien ça ton soucis ?) et ça a l'air de bien fonctionner. Je t'envoie les modifications par mail.
PS : désolé pour tous les autres, mais je n'ai pas d'endroit ou mettre le code afinb que tlm puisse le télécharger, du coup le thread se transforme un peu en conversation privée
PS2 : Lucie, quel bonheur les controles dynamiqes en asp.net hein
PS3 :ça marche toujours pas sur ton projet, ou meme dans mon projet de test ? Par ce que chez moi ça marche ! (ok ok c'est l'excuse typique des informaticiens )alors non seulement ca marche toujours pas
rassure-toi c'est chez moi que ca merde
j'essaie de regarder d'un peu plus pres. Sinon par rapport à ton exemple, moi j'ai un truc du genre :
dans le webusercontrol :
et dans la page contenante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 public event toto [...] raisevent toto
bon eh bah depuis nos modifs, l'évènement n'est plus récupéré dans la page contenante
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 public sub titi() handles moncontrole.toto [...]
Sisi j'ai tout lu :)Envoyé par Sphax
Je ne faisais que souligner qu'a priori, en effet, bidouiller avec la session risque d'être le seul moyen de contourner les problèmes :)
(en en créant potentiellement d'autres, parce que la session n'est pas du tout censée servir à ça au départ. c'est un effet secondaire des problèmes liés aux webforms)
Cela dit, je ne m'avancerai pas beaucoup plus parce que :C'est un peu pour ça que je les ai rapidement laissés tomber :)Envoyé par Sphax
Franchement, je ne sais pas comment vous faites pour continuer à vouloir utiliser ça avec tous les problèmes que ça cause :)
Be wary of strong drink.
It can make you shoot at tax collectors, and miss.
RRRRRRRRRRRRAAAAAAAAAAAAAHHHHHHHHH !!!!!!!!!!!!!!!!!!!!
ca marche en fait, j'ose à peine te dire le pblm, je crois que tu vas finir par m'envoyer ch... sinon et qui sait j'aurais peut etre de nouveau besoin de ton aide un jour Allez en fait j'avais bien mis le chargeFormulaire dans le Init, mais j'avais oublié de l'enlever du Load
Merci énormément pour ton aide, je crois que cette fois, j'ai bien tout saisi.
Merci merci merci
Alors pour ceux qui aurait ce pblm dans l'avenir je récapépète.
1) Un control utilisateur doit etre chargé dans le Init de la page contenante.
2) Si le control chargé change en fonction d'une saisie utilisateur, alors il faudra passer par une variable de session pour savoir lequel charger, car dans le Init les valeurs saisies ne sont pas encore initialisées. Ce qui donne :
- dans le init :
si variable_session <> null
alors charger control variable_session
- dans l'évènement correspondant à la saisie de l'utilisateur
variable_session = nom_control (par exemple)
charger control variable_session
3) Ces règles s'appliquent également dans le cas d'un control utilisateur imbriqué dans un autre control utilisateur (chargement dans le Init du control utilisateur, etc.)
Merci encore à Sphax
c'est pas si compliqué les controles dynamiques
De rien, je trouve ce genre de probleme intéressant à resoudre, ça apprend comment asp.net fonctionne. Cela dit je prefere qd ça arrive aux autres, comme ça j'ai le coté ludique de la résolution sans le stress .
Juste pour info, peut-être le saviez-vous déjà, mais quand il y a pps userctrl dans une page, plutôt que de mettre des variables de formulaire dans des sessions, on peut récupérer ces variables en mettant l'id du webusercontrole avant celui du controle de formulaire.
Ex:
codebehind pour avoir la valeur de la text box 1:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Page | |___ctrl1 | |__txtbox1 | |___ctrl2 |__txtbox2
Mais peut-être le saviez-vous déjà... En tous les cas pas besoin de variable publique suplémentaires.
Code : Sélectionner tout - Visualiser dans une fenêtre à part request.params("ctrl1$txtbox1")
"Winter is coming" (ma nouvelle page d'accueil)
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager