Controls dynamiques dépendant d'un eventhandler [Résolu]

Signaler
Messages postés
7
Date d'inscription
jeudi 12 mars 2009
Statut
Membre
Dernière intervention
6 juillet 2010
-
Messages postés
7
Date d'inscription
jeudi 12 mars 2009
Statut
Membre
Dernière intervention
6 juillet 2010
-
Bonjour,
J'ai un problème de controls dynamique et de post-back.
Je charge des linkbutton dynamiquement pendant le page_load de ma page et je leurs associe des eventhandler. Ces linkbutton dépendent d'une date controlée par des boutons dans ma page. Mon probleme est que le page_load se produit avant mes bouton.onclick events, ainsi la date est toujours décalé par rapport à ce que je souhaite.

Je dois forcement charger mes controls dynamique dans le page_load et donc je me retrouve coincé.

Est ce qu'un event peu se déclencher avant un page_load ?
Une idée ?

Merci d'avance.
ciao

3 réponses

Messages postés
7
Date d'inscription
jeudi 12 mars 2009
Statut
Membre
Dernière intervention
6 juillet 2010

Je n'ai pas réussi à utiliser ta méthode, par contre elle m'a donné une idée. Pendant le Init, je cherche le control responsable du postBack, et s'il s'agit de mes boutons alors j'effectue mon changement. Ensuite je créée mes autres controles dynamiquement dans le page_load.

C'est pas très propre ,c'est de la bidouille , je pense qu'il y'a une meilleur solution, mais ça marche.

Je met mon bout de code qui recupere le controle responsable du postback.
//recuperation du control declencheur du post back
            string ctrlname = Page.Request.Params.Get("__EVENTTARGET");
            if (ctrlname null || ctrlname string.Empty)
                return;
            //si on a trouver un control responsable , on le recupere puis convertie en linkbutton
            LinkButton lb = Page.FindControl(ctrlname) as LinkButton;
            if(lb!=null)
            {//on verifie quel linkbuttton a été cliqué
                switch (lb.CommandName)
                {
                    case "m7":
                        dateRepresentee=dateRepresentee.Add(new TimeSpan(-7, 0, 0, 0));
                        break;
                    case "m1":
                        dateRepresentee = dateRepresentee.Add(new TimeSpan(-1, 0, 0, 0));
                        break;
                    case "p7":
                        dateRepresentee = dateRepresentee.Add(new TimeSpan(7, 0, 0, 0));
                        break;
                    case "p1":
                        dateRepresentee = dateRepresentee.Add(new TimeSpan(1, 0, 0, 0));
                        break;
                    default:
                        break;
                }
            }



Par contre gillou (je me permet le tutoiement et tout et tout), si tu veux me détailler ta méthode je suis preneur.


quand j'ai essayé, j'ai eu l'erreur :
no suitable method found to override

Je pense que je m'y prend mal.

merci en tout cas.

ciao
Messages postés
561
Date d'inscription
mardi 4 mars 2008
Statut
Membre
Dernière intervention
10 juin 2010

non

les events ne se déclenche pas avant un page_load

par contre tu peux overrids le pre_init qui lui est appelé avant le page_load

protected override void OnPreInit(EventArgs e)
{

}
Messages postés
561
Date d'inscription
mardi 4 mars 2008
Statut
Membre
Dernière intervention
10 juin 2010

ou

protected override void OnInitComplete(EventArgs e)
{

}

dépendant à quel moment du lifecylce tu dois arriver.