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 :

Création dynamique de boutons


Sujet :

ASP.NET

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2011
    Messages : 6
    Points : 4
    Points
    4
    Par défaut Création dynamique de boutons
    Bonjour à tous !
    Débutant en asp.net par un gros projet, je me heurte à une difficulté qui, je l'espère, ne sera que de courte durée.

    Posons déjà le décor :
    Je dispose d'une base de donnée de 3 tables :
    une table utilisateurs
    une table projets
    et une table d'association des deux précédentes

    je cherche à construire une page qui me crée des blocs contenant chacun les données propre à un projet : le titre, la description, etc et la liste des utilisateurs liés a ce projet.
    Jusque là pas de problème, je me débrouille avec deux requête sql et arrive à afficher les données. Néanmoins, cette page est destinée à devenir une page d'administration permettant de supprimer un utilisateur d'un projet. Mon problème est donc là. je n'arrive pas à ajouter dynamiquement des boutons dans ma page en regard de chaque nom et je ne sais pas non plus comment je vais faire pour individualiser le comportement au click de chaque bouton (car ils effectues la même action mais avec des paramètres différent)

    Voici mon code c# à l'heure actuelle :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
     
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Data.SqlClient;
    using System.Text;
    using System.Security.Cryptography;
     
    public partial class Images_Default : System.Web.UI.Page
    {
        protected void Page_Init(object sender, EventArgs e)
        {
            SqlConnection oConnection = new SqlConnection("Server=.\\SQL2K8;Initial Catalog=SUPINFO-PROJECTS;uid=sa;password=remy2501");
            oConnection.Open();
     
            SqlConnection oConnection2 = new SqlConnection("Server=.\\SQL2K8;Initial Catalog=SUPINFO-PROJECTS;uid=sa;password=remy2501");
            oConnection2.Open();
     
            SqlCommand mysqlcommand = new SqlCommand("select prj.*, usr.ID_User, usr.Prenom, usr.Nom from projets prj left join users usr on usr.ID_User = prj.ID_Chef_Projet", oConnection);
     
            SqlDataReader reader = mysqlcommand.ExecuteReader();
            while (reader.Read())
            {
     
                SqlCommand mysqlcommand2 = new SqlCommand("select usr.ID_User, usr.Prenom, usr.Nom from AssoUserProjet asso left join USERS usr on usr.ID_User = asso.ID_User where asso.ID_Projet =" + (reader.IsDBNull(1) ? "0" : reader["ID_Projet"]), oConnection2); 
                SqlDataReader reader2 = mysqlcommand2.ExecuteReader();
     
                Global.InnerHtml += "<div class=\"arrondi\">" +
                                        "<div>" +
                                            "<h3>Titre : " + reader["Titre"] + "</h3>" +
                                            "<h4>Description : " + reader["Description"] + "</h4>" +
                                            "<h4>Chef de Projet : " + (reader.IsDBNull(3) ? "Aucun chef de projet" : (reader["Prenom"] + " " + reader["Nom"])) +
                                            "</h4>" +
                                            "<h4>Membre(s) du projet : </h4>" +
                                            "<ul>";
                                                while(reader2.Read())
                                                {
                                                    Global.InnerHtml += "<li>" + reader2["Prenom"] + " " + reader2["Nom"] +
                                                        "<sapn id=\"" + reader["ID_Projet"] + "_" + reader2["ID_User"] + "\"></span> </li>";
    /* Ne Fonctionne Pas
                                                    Button tempbutton = new Button();
                                                    Control tempobject = FindControl("BodyContent");
                                                    tempobject.Controls.Add(tempbutton);*/
                                                }
               Global.InnerHtml +=          "</ul>" +
                                        " </div>" +
                                    "</div>";
               reader2.Close();
            }
            oConnection.Close();
            oConnection2.Close();
        }
        protected void ccco_Click(object sender, EventArgs e)
        {
     
        }
    }

  2. #2
    Membre habitué Avatar de Pynouz
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    274
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 274
    Points : 177
    Points
    177
    Par défaut
    Le UserControl devrait répondre à ton besoin je pense.

    Essaye de chercher de ce côter.

  3. #3
    Expert éminent
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Points : 9 512
    Points
    9 512
    Par défaut
    Salut,
    Citation Envoyé par Pynouz Voir le message
    Le UserControl devrait répondre à ton besoin je pense.
    Un repeater.

    A+

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 20
    Points : 24
    Points
    24
    Par défaut Le repeater est la clef
    Idéalement, tu devrais utiliser un controle repeater dans la partie design de ta page aspx. Chaque ligne du repeater va correspondre à ton utilisateur.

    Dans le code source de ta page, tu vas réaliser le binding du repeater, il s'agit de lui dire quelle est la collection d'objets qui est la source.

    Lorsque tu créées un repeater, tu définis ce qu'est la ligne type. Tu vas y mettre un controle button. Ensuite, tu associe à ce bouton une commande.

    Tu trouveras de la doc msdn ici en anglais malheureusement

  5. #5
    Membre éclairé
    Inscrit en
    Septembre 2007
    Messages
    1 137
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 137
    Points : 707
    Points
    707
    Par défaut
    +1 pour le repeater, voir meme un gridview si on veut.
    Bon lien de chvialat.

    Par contre le UserControl, alors la je n'ai pas compris !!!

Discussions similaires

  1. Création dynamique des boutons dans ScrollPane
    Par tmar houcem dans le forum AWT/Swing
    Réponses: 5
    Dernier message: 16/05/2014, 18h06
  2. Création dynamique de boutons
    Par kevn56 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 13/02/2008, 08h50
  3. création dynamique de boutons sur un userform
    Par niko7as dans le forum Général VBA
    Réponses: 5
    Dernier message: 07/05/2007, 16h12
  4. Création dynamique de bouton
    Par michpc dans le forum Flash
    Réponses: 5
    Dernier message: 06/02/2007, 15h11
  5. Création dynamique de bouton
    Par amnesias dans le forum Flash
    Réponses: 5
    Dernier message: 27/01/2007, 13h50

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