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 :

Problème sur l'ordre de création des éléments de la page


Sujet :

ASP.NET

  1. #1
    Membre extrêmement actif
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Points : 1 434
    Points
    1 434
    Par défaut Problème sur l'ordre de création des éléments de la page
    Salut, désolé de truster le premier topic du forum, mais dés que je rajoute une ligne de code, j'ai un souci. e t en plus tout est lié.

    Bon, j'ai tenté de voir comment ça marche en attendant de trouver les réponse aux autres questione tje suis confronté à un souci de création des éléments de la page.

    Je vais essayé de donner les éléments pour une bonne compréhension.
    J'ai donc une page ASPX normal, avec une MasterPage simple accrochée. Cette MasterPage offre deux zones ContentPlaceHolder.
    Dans le premier ContentPlaceHolder je mets un COmposant Utilisateur de ma création. Il dispose d'un propriété qui sert d'argument à la requête SQL qui permetra de trouver les données pour remplir le Composant.

    Lorsque je place le composant dans la apge par le HTML, comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <asp:Content ID="Content2" ContentPlaceHolderID="cphMenuGauche" Runat="Server">
    	<uc1:MenuGauche ID="compo1" runat="server" IdCateg="1" />
    ça marche bien, ma page apparait avec les éléments tout bon, rien à redire.

    Par contre lorsque je fais ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Dim compo As New projet_MenuGauche
    compo.IdCateg = 2
    Page.Controls.Add(compo)
    Là il me dit :
    La référence d'objet n'est pas définie à une instance d'un objet.
    et ça concerne la première ligne de code qui appelle un élément du composant, un label pour être précis. J'en déduis donc que, à ce moment rpécis, le lable n'est pas encore chargé. Alors j'ai essayé plein de truc ne changeant de palce l'appel du composant dans la page et le remplissage du label dans la composant, mais rien à faire, à chaque fois j'ai le même message.
    Lrosque je dis changer de palce, je parle des évènements du genre Page_Laod ou Page_Init. Bref, je crois que j'ai essayé toutes les combinaisons, mais rien.

    Pouvez vous m'aider ?
    Mon blog de création d'univers : Qualhiryann
    Mon site qui parle de moi www.ozouf.com
    Pour les joueurs de WOW je suis sur Ysondres et mon perso est Ablanore.

  2. #2
    Modérateur

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2007
    Messages
    1 996
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 996
    Points : 3 102
    Points
    3 102
    Par défaut
    l'ordre de génération des pages asp.net est ainsi:
    • Création des pages (Page_Init)
    • Initialisation des objets
    • Page_Load
    • Gestion des évènements
    • Pre_Render


    Pour moi, tu dois donc faire l'ajout de contôles à la collections de contrôles au Pre_Render. C'est en tout cas comme cela que je procède et cela fonctionne.

  3. #3
    Membre extrêmement actif
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Points : 1 434
    Points
    1 434
    Par défaut
    Ok, avec ce que tu dis. Mais, parce que j'ai fais encore des essais, à quel moment sont créés les objet (textbox, lable, ...) qui sont déterminés dans la partie HTML ?

    Visiblement, tout ce petit monde est créé à la fin et donc, lrosque je tente de faire un changement de texte sur un label dans la PAgeLoad de mon coposant, il me dit qu'il est pas là.
    Mais lorsque je créé dynamiquement mes objets, dans le codeBehind, ben ça marche mieu.

    Est ce que cela implique que je vais devoir me palucher toute la création du composant dans sont codeBehind ?
    Mon blog de création d'univers : Qualhiryann
    Mon site qui parle de moi www.ozouf.com
    Pour les joueurs de WOW je suis sur Ysondres et mon perso est Ablanore.

  4. #4
    Modérateur

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2007
    Messages
    1 996
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 996
    Points : 3 102
    Points
    3 102
    Par défaut
    Je ne saisi pas trés bien la démarche du fait que je n'ai quasiment jamais utilisé d'ascx.

    Pourquoi n'utilises tu pas enableViewState=true pour conserver tes contrôles en mémoire ?

  5. #5
    Membre extrêmement actif
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Points : 1 434
    Points
    1 434
    Par défaut
    Je vasi essayer ça, amis sans conviction, car c'est dés le premier affichage que ça plante, donc à mon avis c'est vraiment à la création des contrôles.

    Mais, aprés tout, maintenant que j'ai tout créer dans le codeBehind, je m'aperçois que ça marche bien et que je peux controler pas mal de truc au passage.

    En tout cas merci pour ton aide.
    Mon blog de création d'univers : Qualhiryann
    Mon site qui parle de moi www.ozouf.com
    Pour les joueurs de WOW je suis sur Ysondres et mon perso est Ablanore.

Discussions similaires

  1. Problème sur fichier macro pour changer des éléments
    Par Dayo18 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 05/06/2015, 08h26
  2. Thread problème de mise en pause dans des éléments Swing
    Par Balbuzard dans le forum AWT/Swing
    Réponses: 7
    Dernier message: 25/08/2008, 09h54
  3. [XSLT]Problème sur une comparaison if avec des strings
    Par LoDev dans le forum XSL/XSLT/XPATH
    Réponses: 6
    Dernier message: 18/01/2008, 09h27
  4. Ordre de création des bases pour une migration
    Par D.Mounir dans le forum Oracle
    Réponses: 1
    Dernier message: 10/09/2007, 08h58
  5. ordre de création des insert
    Par marti dans le forum Langage SQL
    Réponses: 3
    Dernier message: 07/07/2006, 18h42

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