Evitez le Form_Load en c# Visual Studio ASP.NET

Evitez le Form_Load en c# Visual Studio ASP.NET - C#/.NET managed - Programmation

Marsh Posté le 11-09-2003 à 21:42:27    

Voilà.
 
Je suis pas tant chaud, mais j'ai du me mettre à C#... J'ai fait un petit projet en C# ASP.NET et j'ai rencontré un problème au niveau du form_load
 
Est-il normal lorsqu'on fait un évent bouton_click on passe d'abord par le form_load, puis dans le buton_click.  
 
Je comprends la raison, car la page se recharge... mais bon.
Je dois avouer que ça m'a un peu déconcerté, car ça casse la logique de la programmation évenementielle...
 
Peux-t-on l'éviter ? (une option dans le document, le projet...)
 
Et si on ne peut pas, comment gérez vous ce problème, surtout au niveau de l'initialisation des variables... (qui sont initialisées dans le form_load alors qu'elle ne devraient pas l'être


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
Reply

Marsh Posté le 11-09-2003 à 21:42:27   

Reply

Marsh Posté le 11-09-2003 à 22:12:19    

regarde du coté de isPostback ;)

Reply

Marsh Posté le 11-09-2003 à 22:49:06    

Perso ça me choque pas.  Le Load est connu comme l'event au cours duquel sont créés les contrôles de la fenêtre, donc avant ça, tu ne peux pas agir sur les contrôles. Soit ça planterait, soit ça lancerait le Form_Load justement (donc forcerait le chargement de fenêtre).
 
'fin perso ça me choque pas parce que ça se passe comme ça en VB6 par exemple, je pense pas que ça soit différent en .NET parce que ça remettrait en cause l'architecture même de Windows.

Reply

Marsh Posté le 12-09-2003 à 00:08:41    

J'ai fait (malheurseument) du VB6.
 
Je peux t'assurer que si tu click sur un bouton, il repasse pas par le form load...
 
Mais là c'est différent, c'est pas du win32, mais de l'asp.NET


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
Reply

Marsh Posté le 12-09-2003 à 00:15:45    

ouais mais en VB6 c'est normal :D  Quand tu es dans le form_initialize (la toute première proc exécutée), et que tu essaies d'accéder à un truc visuel, paf, il te lance le form_load. Mais il ne s'exécute qu'une seule fois évidemment.
[/HS]
 
Je relis ton truc et je me rends compte effectivement. J'ai fait un exemple une fois suffisamment concret pour comprendre ce que tu veux dire: à chaque fois que tu cliques sur un truc et que tu as programmé une réponse en C#, il y aura reload de la page pour tenir compte de ton action sur l'interface, parce que ces traitements sont server-side :/
 
Je vois pas trop comment le faire, n'y a-t-il pas moyen de préciser à ta déclaration de fonction que tu veux que tout se passe en client-side?  Sinon faut se palucher JavaScript évidemment :/


Message édité par drasche le 12-09-2003 à 00:16:15
Reply

Marsh Posté le 12-09-2003 à 08:44:46    

Galère galère...
 
Merci quand même

Reply

Marsh Posté le 18-09-2003 à 11:26:08    

rahhh ya la réponse la haut :)
 

Code :
  1. public void form_load (...)
  2. {
  3.     if (isPostBack() == false)
  4.     {
  5.          // code pour le form load
  6.          // ...
  7.     }
  8.     else
  9.     {
  10.          // Si on passe ici c'est qu'un évènement a été levé.
  11.     }
  12. }


Message édité par Vko le 18-09-2003 à 11:29:01
Reply

Marsh Posté le 22-09-2003 à 08:15:05    

Vko a écrit :

rahhh ya la réponse la haut :)
 

Code :
  1. public void form_load (...)
  2. {
  3.     if (!this.isPostBack)
  4.     {
  5.          // code pour le form load
  6.          // ...
  7.     }
  8.     else
  9.     {
  10.          // Si on passe ici c'est qu'un évènement a été levé.
  11.     }
  12. }




 
c mieux, c une propriété pas une méthode
 
[:spamafote]

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed