[RESOLU][ASP.NET] Cycle de vie d'une page et ClientScript

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 :-\

Page.Request.Form.Get(0) me donne le unique id du controle responsable du postback… Donc ça marche comme ça.