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 :

[C#] Ajout en dynamique de controles dans un PlaceHolder


Sujet :

ASP.NET

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2004
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 24
    Points : 22
    Points
    22
    Par défaut [C#] Ajout en dynamique de controles dans un PlaceHolder
    Bonjour,

    Je fais dans le load de ma page, un ajout dynamique de control( label+textbox) à mon PlaceHolder.

    Jusque là tout fonctionne.

    Par contre je voudrais quand je clique sur un bouton, récuperer pour chacun des controls TextBox la valeur saisie.

    Et là quand je clique sur le bouton tous les controls ajoutés au placeHolder ne sont plus là. Je me retrouve avec mon PlaceHolder vide!!

    Est-ce que quelqu'un aurait une solution au probleme rencontré?

    Merci d'avance.

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Août 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2003
    Messages : 835
    Points : 1 046
    Points
    1 046
    Par défaut
    Salut,

    Les controles ajoutés dynamiquement doivent l'etre a chaque postback, de préférence avant le page_load dés la seconde fois si tu veux eviter des soucis de viewstate.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2004
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 24
    Points : 22
    Points
    22
    Par défaut
    Comment je fais si je veux les mettre avant le load?

    Car là j'avoue je ne vois pas comment je peux faire

  4. #4
    Membre éprouvé Avatar de guitoux1
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 011
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 011
    Points : 1 256
    Points
    1 256
    Par défaut
    dans le init, qui est exécuté avant le load

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Août 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2003
    Messages : 835
    Points : 1 046
    Points
    1 046
    Par défaut
    Salut,

    Tu dois sauvegarder qque part (la session c'est pas mal en général pour ça) une variable t'indiquant si tu dois charger un controle dynamiquement, et si oui lequel. Dans l'init de ta page tu récuperes ces infos et tu recharges ce controle à chaque postback.

    A partir de là ton controle chargé dynamiquement fonctionnera bien, comme les autres, et tu pourras en faire ce que tu veux (gérer ses évenements, récupérer ses valeurs etc...)

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2004
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 24
    Points : 22
    Points
    22
    Par défaut PalceHolder+Textbox dynamique
    Suite à divers avis, voici ce que j'ai essayé:

    Dans le Int, je mets la construction de mes controls dynamique et je les ajoute dans le PlaceHolder:

    override protected void OnInit(EventArgs e)
    {
    //
    // CODEGEN*: Cet appel est requis par le Concepteur Web Form ASP.NET.
    //
    InitializeComponent();
    base.OnInit(e);

    //CREATION DES TEXTBOX DYNAMIQUES PUIS AJOUT AU PLACEHOLDER
    }

    Dans le load je ne fais rien

    Ce que je voudrais, c'est quand je clique sur un bouton, c'est recuperer la valeur des Textbox ajoutés a mon placholder

    Et là il me vide tous ce qu'il y a dans mon placeholder

  7. #7
    Membre éprouvé
    Profil pro
    Inscrit en
    Août 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2003
    Messages : 835
    Points : 1 046
    Points
    1 046
    Par défaut
    En debug, tu as vérifié que tu passais bien dans l'Init de ton controle a chaque postBack (et donc que le chargement de tes controles se fait bien) ?

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2004
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 24
    Points : 22
    Points
    22
    Par défaut
    Tu me demandes de sauvegarder dans une variable de session une valeur disant que je dois recharger ou non.

    Par contre tu crois que le placeholder ne sera pas réinitialiser.

  9. #9
    Membre éprouvé
    Profil pro
    Inscrit en
    Août 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2003
    Messages : 835
    Points : 1 046
    Points
    1 046
    Par défaut
    Tu me demandes de sauvegarder dans une variable de session une valeur disant que je dois recharger ou non.
    Tu fais ça si tu en as besoin bien entendu. L'idée c'est que si tu charges des controles dynamiquement c'est bien car le controle a charger peut changer en fonction d'une variable (sinon autant créer tes controles statiquement). Cette variable peut se trouver en session, en base de donnée etc... (partout sauf dans le viewstate en fait).

    Par contre tu crois que le placeholder ne sera pas réinitialiser.
    Tu dis toi meme :
    Et là il me vide tous ce qu'il y a dans mon placeholder
    Je te reponds juste de bien vérifier que ton controle est bien rechargé a chaque postback ! De tte évidence ça n'a pas l'air d'etre le cas...

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2004
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 24
    Points : 22
    Points
    22
    Par défaut
    Je suis désolé mais je vais me repeter.

    Je construis les controls en dynamique dans les Placeholder et quand ma page s'affiche je les visualise bien.

    Par contre quand je clique sur un bouton, je voudrais a ce moment recuperer les valeurs saisies dans les Textbox.

    Et là comme les Textbox disparaissent, je ne peux pas recuperer les valeurs. Si je reconstruis les textbox, il affichera bien les textbox mais pas avec les valeurs saisies. Les textbox seront vierge.

    Comment récuperer les valeurs saisies quand je clique sur le bouton

  11. #11
    Membre éprouvé Avatar de guitoux1
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 011
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 011
    Points : 1 256
    Points
    1 256
    Par défaut
    pfff...c'est ce qu'on te dis !! Faut recréer les controles à chaque charegemtn de la page, sinon entre chaque postback ils disparaissent. Pourquoi ? car ces controles créent dynamiquement n'ont pas de viewstate.

    Si tu les recrer, tu pourras récuprer leur valeur !!

  12. #12
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2004
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 24
    Points : 22
    Points
    22
    Par défaut
    Mais si je les recrées comment veux-tu recuperer les valeurs ???? elles ne seront plus là

  13. #13
    Membre éprouvé Avatar de guitoux1
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 011
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 011
    Points : 1 256
    Points
    1 256
    Par défaut
    ben si !! les valeurs elle sont dans la collection de données postées par le formulaire, pas "dans" le controle. Le controle c'est juste du HTML.
    Les valeurs, elles seront dans les données du POST

  14. #14
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2004
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 24
    Points : 22
    Points
    22
    Par défaut
    je parle des valeurs que l'utilisateur aura saisi??

  15. #15
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2004
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 24
    Points : 22
    Points
    22
    Par défaut
    j'y accède coment a cette collection?

    je suis desolé de t'embeter comme ça. Mais en plus c'est assez urgent donc je n'ai pas trop le temps de chercher!

  16. #16
    Membre éprouvé Avatar de guitoux1
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 011
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 011
    Points : 1 256
    Points
    1 256
    Par défaut
    bon essai de le faire au lieu de dire que ça va pas marcher, tu verra bien !!
    Sinon après une tres rapide recherche sur google, tu trouve des exemple (mots cles : Placeholder ASP.Net).

  17. #17
    Membre éprouvé
    Profil pro
    Inscrit en
    Août 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2003
    Messages : 835
    Points : 1 046
    Points
    1 046
    Par défaut
    Mais si je les recrées comment veux-tu recuperer les valeurs ???? elles ne seront plus là
    Les valeurs de tes controles comme le dit guitoux sont dans le html, dans les controles html eux meme ou dans le champ caché ViewState. Qd tu recrées tes controles dans l'init de ta page, ok a ce moment là ils sont "vierges", mais ensuite le cycle de vie de la page continue, et tes controles vont bien être repeuplés avec les données qui proviennent du client. Une fois dans le page_load (et apres) tu pourras accéder a tes valeurs, les évenements de tes controles dynamiques seront bien levés etc...

    je suis desolé de t'embeter comme ça. Mais en plus c'est assez urgent donc je n'ai pas trop le temps de chercher!
    Charger dynamiquement des controles en asp.net nécessite de connaitre le cycle de vie d'une page asp.net, de comprendre le viewstate, bref de bien savoir et comprendre ce que l'on fait. Tu es sur un forum d'entraide mais tu dois surement connaitre le proverbe : "aide toi ..."

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

Discussions similaires

  1. Creation dynamique de control dans un tabPage
    Par skunkies dans le forum Windows Forms
    Réponses: 2
    Dernier message: 03/03/2009, 13h51
  2. [WPF] ajouter dynamiquement un control dans un dataTemplate.
    Par maa dans le forum Windows Presentation Foundation
    Réponses: 6
    Dernier message: 28/02/2008, 08h20
  3. VB - Génération dynamique de controles dans un forme
    Par jeanangel dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 19/12/2005, 21h09
  4. Ajout/Suppression dynamique des lignes dans une table
    Par codexomega dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 13/08/2005, 18h50
  5. [VB6] Création dynamique de controles dans un SSTab
    Par Txomin dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 20/12/2004, 11h13

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