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

Messages postés
7
Date d'inscription
jeudi 12 mars 2009
Statut
Membre
Dernière intervention
6 juillet 2010
- - Dernière réponse : sorgal88
Messages postés
7
Date d'inscription
jeudi 12 mars 2009
Statut
Membre
Dernière intervention
6 juillet 2010
- 10 juin 2010 à 17:20
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
Afficher la suite 

3 réponses

Meilleure réponse
Messages postés
7
Date d'inscription
jeudi 12 mars 2009
Statut
Membre
Dernière intervention
6 juillet 2010
3
Merci
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

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 133 internautes nous ont dit merci ce mois-ci

Commenter la réponse de sorgal88
Messages postés
561
Date d'inscription
mardi 4 mars 2008
Statut
Membre
Dernière intervention
10 juin 2010
0
Merci
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)
{

}
Commenter la réponse de GillouXman
Messages postés
561
Date d'inscription
mardi 4 mars 2008
Statut
Membre
Dernière intervention
10 juin 2010
0
Merci
ou

protected override void OnInitComplete(EventArgs e)
{

}

dépendant à quel moment du lifecylce tu dois arriver.
Commenter la réponse de GillouXman