IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

Page_Prerender & Page_Load ?


Sujet :

ASP.NET

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 16
    Points : 11
    Points
    11
    Par défaut Page_Prerender & Page_Load ?
    Bonjour, je suis débutant en asp.net et je viens du monde des Winform. J'ai un soucis d'ordre conceptuel qui je n'ai pas résolu en lisant les tutoriels et les recherches sur ce forum !

    Le cycle de vie de la page ASP comprend, le viewstate, page_load, puis page_prerender qui est le dernier évènement avant le rendu final de la page.

    Ce que je ne comprend pas, c'est que les évènements des contrôles (comme un clic d'un bouton) sont déclenchés APRES Page_Load. Ils devraient être déclenchés avant, pour qu'on puisse initialiser la page correctement sur la base de leur déclenchement...

    Exemple :

    "Nouvelle page : chargement de 20 lignes"
    -> On charge 20 lignes par page load !

    "bouton page suivante" -> on charge 20 lignes suivantes
    > Page load intervenant avant le ClickBoutonPageSuivante(e),
    il ne peut pas savoir qu'il faut charger les 20 lignes suivante !
    l'évènement ne sert donc à rien!

    Où je me trompe?

  2. #2
    Candidat au Club
    Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    2
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    n'oubli pas que tu as le page_init avant le page_load !!!

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 16
    Points : 11
    Points
    11
    Par défaut
    Citation Envoyé par fhread
    n'oubli pas que tu as le page_init avant le page_load !!!
    Oui, mais ca ne résoud pas mon problème! Peut être que je m'exprime mal?

  4. #4
    Dnx
    Dnx est déconnecté
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    290
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 290
    Points : 154
    Points
    154
    Par défaut
    heuu

    ce ne serait pas une question de postback?

    lors du chargement de la page, l'événement POSTBACK est à FALSE
    lors d'un retour serveur déclenché par un bouton, le POSTBACK est a TRUE

    donc dans page_load

    if not me.page.ispostback
    => code execute lors du chargement de la page
    else
    do nothing...
    end if

    puis code execute par le bouton clické...

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 16
    Points : 11
    Points
    11
    Par défaut
    Oui, c'est cela, mais ta réponse est incomplète. En effet, IsPostBack est mis à true quelque soit l'évènement d'un contrôle. (POST)

    Si la page est elle-même appelée par un autre bouton (comme par exemple, un bouton - menu provenant d'une MasterPage), IsPostBack est mis à true, alors qu'il devrait être mis à false : on ne peut pas distinguer ce qui ressort d'un évènement métier, de ce qui ressort d'un évènement de navigation.

    C'est un problème majeur

  6. #6
    Dnx
    Dnx est déconnecté
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    290
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 290
    Points : 154
    Points
    154
    Par défaut
    hein???

    je ne te suis pas bien la...

    Si la page est elle-même appelée par un autre bouton (comme par exemple, un bouton - menu provenant d'une MasterPage)
    ==> c'est logique que le postback soit a true car une masterpage n'est qu'une page "parente", ta page hérite des composants de la masterpage... donc ca forme un "BLOC"

    on ne peut pas distinguer ce qui ressort d'un évènement métier

    ???

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 16
    Points : 11
    Points
    11
    Par défaut
    Plus explicite :

    Page Master
    [Bouton VaPage1]
    [Bouton VaPage2]

    Page1
    [UserControl1]
    --[Bouton OrderByTruc]
    --[Bouton OrderByMachin]

    Quand tu cliques sur VaPage1, tu vas sur la Page1 et Page_Load doit initialiser un tableau de nom. Quand tu cliques sur OrderBy Truc, tu ordonne le contenu de ton tableau par Truc.

    A chaque fois, pour les deux cas, IsPostBack est mis à true . Pourtant on voudrait que quand tu cliques sur VaPage1, Page_Load initialise le tableau, mais quand tu cliques sur Truc, Page_Load ne l'initialise pas, ca doit être lévènement du clicOrderByTruc.

    Tu me suis?

  8. #8
    Dnx
    Dnx est déconnecté
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    290
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 290
    Points : 154
    Points
    154
    Par défaut
    ben si j'ai bien compris

    dans vapage1, tu rediriges tt simplement

    donc dans page1 tu ne fais rien avec le tableau mais comme ton usercontrol est dans page1, usercontrol va déclencher page_load de celui ci

    donc dans ton usercontrol tu devrais avoir ceci :

    if not page.ispostback
    init tabNom
    end if

    et

    __but_click: do something

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 16
    Points : 11
    Points
    11
    Par défaut
    Arf. On arrive pas bien à s'entendre. C'est pas grave. Je vais changer ma méthode. De toutes facons, IsPostBack répond à une partie de mes interrogations et pour cela je te remercie beaucoup

    (j'ai mis en résolu)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 21
    Dernier message: 11/10/2010, 13h34
  2. Réponses: 4
    Dernier message: 20/03/2009, 10h16
  3. [C#] Gestion du click apres le Page_Load
    Par ludo0 dans le forum ASP.NET
    Réponses: 2
    Dernier message: 05/05/2004, 17h01
  4. [C#] Quel contrôle provoque le Page_Load?
    Par Mourad dans le forum ASP.NET
    Réponses: 11
    Dernier message: 27/04/2004, 11h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo