Bonjour,
J’ai une page asp.net qui génère 1 user control “1” en fonction d’un paramètre d’un autre user Control “2” qui exécute un évènement "changement de paramètre ".
Ce userControl “1” est basé sur jquery ce qui fait que pour sa génération, j’utilise une partie asp et du javascript envoyé avec RegisterStartupScript:
lsnom = "MonTabPage";
scripting = "du javascript avec des appels à jquery pour generé mon control comme il faut";
this.page.ClientScript.RegisterStartupScript(this.GetType(),lsnom,scripting);
Comme mon controle “1” est créé dynamiquement, je suis obligé de le regénérer à chaque load.
Sachant qu’un load peut subvenir après changement du paramètre de génération du controle “2” j’ai, dans ce cas, un cycle de ma page classique:
Load {
- Création du control avec paramètre A
}
Traitement de l’évènement changement de paramètre {
Changement du parametre B
Suppression du control avec parametre A
Creation du control avec parametre B
}
Le soucis, c’est que pour “Suppression du Control avec paramètre A” je ne peux pas supprimer la partie javascript (pas de remove sur la classe ClientScript). Du coup, c’est un peu pourri
Le mieux serait, dans ce cas, de ne même pas régénérer le contrôle dans le load, mais le sender envoyé est la page (et pas le User Control ‘Je change de paramètre’). Je suis un peu sec pour trouver une parade et détecter, au niveau du load de la page, si l’évènement " Traitement de l’évènement changement de paramètre " est dans la pile.
Ca doit être super bateau mais j’ai visiblement pas le pied marin :-\