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 :

Ajout dynamique de controles ASP.Net dans le code HTML


Sujet :

ASP.NET

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    49
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2002
    Messages : 49
    Points : 50
    Points
    50
    Par défaut Ajout dynamique de controles ASP.Net dans le code HTML
    Bonjour

    Je souhaiterai ajouter des composants ASP .Net dynamiquement suite a une requête Access (je ne connais donc pas le nombre de composants ajouter)

    J'ai crée un tableau HTML à la volée via le code behind pour la structure de présentation des résultats : c'est OK

    Maintenant, la question est :
    comment insérer un composant ASP ImageButton dans chaque case HTML dynamiquement?


    J'ai testé le post suivant (http://www.developpez.net/forums/d56...s/#post3353197), çà fonctionne très bien de ASP -> ASP.

  2. #2
    Membre expérimenté

    Homme Profil pro
    kiné passionné de dev
    Inscrit en
    Mars 2006
    Messages
    1 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : kiné passionné de dev

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 570
    Points : 1 738
    Points
    1 738
    Billets dans le blog
    1
    Par défaut
    as-tu pensé au composant datagrid?
    Petit poulain devient grand de jour en jour...

    Petit Poulain, ce n'est que pour les intimes!

  3. #3
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2003
    Messages
    274
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 274
    Points : 372
    Points
    372
    Par défaut
    Si tu continues dans ce sens (créer dynamiquement) : je pense que tu dois juste déclarer ta table et ensuite tu dois créer chaque ligne dynamiquement.
    Sinon, tu dois nommer toutes tes cellules via leur propriété ID et ensuite tu pourras repérer les cellules et ajouter les contrôles.

    Ceci n'est qu'une piste car je ne l'ai jamais fait.
    Il existe des méthodes telles que Page.FindControl("NomDeL'ID") qui permettent de retrouver les objets sur ta page

    A toi de regarder de ce côté là
    Vous avez la réponse à votre question ? Mettez votre sujet en

    Une personne vous a correctement aidé ? Cliquez sur le

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    49
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2002
    Messages : 49
    Points : 50
    Points
    50
    Par défaut Presque resolu :)
    Merci pour ces informations.
    J'ai finalement trouvé la solution suivante :
    1/ je pose un label sur ma page
    2/ je crée une table dynamiquement
    3/ j'ajoute cette table a mon label via controls.add()

    La table est affiché exactement comme je veux, sans aucun problème.
    Mais il y a quand même un problème.
    Chaque cellule de mon tableau possède un ButtonImage. Je crée aussi dynamiquement un mappage de l'événement OnClick du button image avec le code suivant :
    myImgButton.Click += new ImageClickEventHandler(this.ImgButton_Click);

    Pour que des events créé dynamiquement, il semble qu'il faille absolument les cree dans le OnLoad ou le Init de la page.
    Effectivement, cela fonctionne bien quand j'exécute tout le code de création dans le OnLoad de ma page.
    Par contre, dès que je remplace les lignes de création de l'ImageButton par une procedure (toujours dans le OnLoad) qui me crée n ImageButton dynamiquement, je perd le mappage de l'événement.

    Quel est la différence entre tout le code dans le Onload et un appel de procedure dans le Onload ? normalement aucun
    Avez vous une explication ?

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    49
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2002
    Messages : 49
    Points : 50
    Points
    50
    Par défaut Trouvé !!!
    il faut que le composant soit recréé après le postback pour que l'event soit généré !!
    C'est pour cela qu'il y avait ce comportement étrange entre tout le code dans le Onload et un appel de procedure dans le Onload
    Dans le cas 1, le composant etait toujours present,
    Dans le cas 2, je le créée seulement sur un !Postback

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

Discussions similaires

  1. Intégrer une application asp.net dans une page html
    Par ralf91 dans le forum ASP.NET
    Réponses: 0
    Dernier message: 04/10/2013, 10h56
  2. Code ASP.Net dans un code-behind en C#
    Par emaluk dans le forum ASP.NET
    Réponses: 12
    Dernier message: 28/08/2009, 15h44
  3. utiliser controle asp.net dans javascript
    Par ouadie99 dans le forum ASP.NET
    Réponses: 1
    Dernier message: 20/10/2008, 12h36
  4. Réponses: 2
    Dernier message: 02/01/2008, 00h40
  5. appeler du code javascript dans un controle asp.net
    Par intissar_g dans le forum ASP.NET
    Réponses: 2
    Dernier message: 16/05/2007, 13h34

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