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 :

Afficher des données avec un WebUserControl


Sujet :

ASP.NET

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 43
    Points : 26
    Points
    26
    Par défaut Afficher des données avec un WebUserControl
    Bonjour à tous,

    J'ai une liste d'objets Pdf:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    List<Pdf> mesObjets = new List<Pdf>();
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
     public class Pdf
        {
            public String Title { get; set; }
            public String Authors { get; set; }
            public String Type { get; set; }
            public String Year { get; set; }
            public String Keyword1 { get; set; }
            public String Keyword2 { get; set; }
            public String Keyword3 { get; set; }
            public String Keyword4 { get; set; }
            public String Keyword5 { get; set; }
            public String Chemin { get; set; }
        }


    J'ai un WebUserControl :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <%@ Control Language="C#" AutoEventWireup="true" CodeFile="WebUserPdf.ascx.cs" Inherits="UsersControls_WebUserPdf" %>
     
    <asp:HyperLink ID="HyperLinkPdf" runat="server"></asp:HyperLink><br />
    <asp:Label ID="LabelAuteurDate" runat="server" ></asp:Label><br />
    <asp:Label ID="LabelKeywords" runat="server" ></asp:Label><br />
    <asp:Label ID="LabelChemin" runat="server"></asp:Label>

    Et je cherche a faire en sorte que pour ma liste d'objets List<Pdf>, j'affiche un WebUserControl par objet dans une page, seulement, je ne sais pas du tout dans quoi le mettre, ni comment faire.

    Y a t'il une sorte de binding à faire ?

    Merci,

    Guillaume.

  2. #2
    Expert confirmé
    Avatar de Nicolas Esprit
    Homme Profil pro
    Consultant en technologies
    Inscrit en
    Février 2010
    Messages
    1 467
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en technologies
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 1 467
    Points : 4 066
    Points
    4 066
    Par défaut
    Bonjour,

    Le principe est simple à chaque chargement de ta page, tu boucles sur ta liste d'objets PDF, et pour chacun tu fait un LoadControl :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    foreach(PDF p in listPdf)
    {
      Control uc = LoadControl("UserControl.ascx");
      uc.ID = PDF.ID;
      Controls.Add(FeaturedProductUserControl);
    }
    Pour les reste et les particularités du chargement dynamique de contrôle au travers du cycle de vie d'une page, je t'invite à consulter les tutos, ou les précédentes questions sur ce forum.

    En espérant t'avoir aidé.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 43
    Points : 26
    Points
    26
    Par défaut
    Merci pour votre réponse, seulement, il y a 2 points que je ne comprend pas ;

    - Comment est-ce que chaque controls de mon WebUsersControl vont prendre la bonne valeur ? (ex :LabelChemin.Text = PDF.Chemin)

    - A quoi correspond le "FeaturedProductUserControl" ?

    Merci

  4. #4
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Points : 8 734
    Points
    8 734
    Par défaut
    Citation Envoyé par GilardeauG Voir le message
    Merci pour votre réponse, seulement, il y a 2 points que je ne comprend pas ;

    - Comment est-ce que chaque controls de mon WebUsersControl vont prendre la bonne valeur ? (ex :LabelChemin.Text = PDF.Chemin)
    Control uc = LoadControl("UserControl.ascx"); uc.ID = PDF.ID;

    Citation Envoyé par GilardeauG Voir le message
    - A quoi correspond le "FeaturedProductUserControl" ?
    Je pense qu'il voulait dire uc



  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 43
    Points : 26
    Points
    26
    Par défaut
    D'accord,

    Eh bien j'ai donc ajouté une propriété "ID" à ma classe PDF.

    mais lorsque je fais "uc.ID = PDF.ID;" il ne prend pas en compte le fait que LabelChemin.Text doit prendre la valeur de PDF.Chemin ( en même temps, je lui ai renseigné nulle part, donc c'est un peu logique ).
    Donc ou est-ce que je dois lui dire que LabelChemin.Text doit prendre la valeur de PDF.Chemin ?

    En C#? ou dans le coté graphique ( avec par exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <asp:HyperLink ID="HyperLinkPdf" runat="server"></asp:HyperLink><br />
    <asp:Label ID="LabelAuteurDate" runat="server" ></asp:Label><br />
    <asp:Label ID="LabelKeywords" runat="server" ></asp:Label><br />
    <asp:Label ID="LabelChemin" runat="server" Text="{Binding Chemin}"></asp:Label>
    ??

    Merci

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Février 2006
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 85
    Points : 91
    Points
    91
    Par défaut
    Citation Envoyé par GilardeauG Voir le message
    D'accord,
    Eh bien j'ai donc ajouté une propriété "ID" à ma classe PDF.
    C'était donné pour l'exemple je pense, donc inutile de le rajouter si tu n'en n'as pas l'utilité

    Citation Envoyé par GilardeauG Voir le message
    Donc ou est-ce que je dois lui dire que LabelChemin.Text doit prendre la valeur de PDF.Chemin ?
    A la place de l'exemple : uc.ID = PDF.ID;

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 43
    Points : 26
    Points
    26
    Par défaut
    Justement, c'est bien ce que je pensais faire au début:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    foreach(PDF p in listPdf)
    {
      Control uc = LoadControl("UserControl.ascx");
      uc.ID = PDF.ID;
      uc.LabelChemin.Text = PDF.Chemin;
      Controls.Add(FeaturedProductUserControl);
    }
    Mais je n'ai pas accès aux controls que composent mon control, donc pas accès à LabelChemin ni les autres.

    Et je ne comprend pas pourquoi.

    J'ai également essayé d'ajouter une propriété dans mon WebUserControl :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
        private String _title;
        public String Title
        {
            get { return _title; }
            set
            {
                _title = value;
                HyperLinkPdf.Text = _title;
            }
        }
    Mais même chose, je n'ai pas accès à Title lorque que je récupère le Control.

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Février 2006
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 85
    Points : 91
    Points
    91
    Par défaut
    Car ce n'est pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Control uc = LoadControl("UserControl.ascx");
    mais

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UserControl uc = LoadControl("UserControl.ascx");

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 43
    Points : 26
    Points
    26
    Par défaut
    Sauf que LoadControl() me renvois un Control et non un userControl.

    Et même en le castant en UserControl, je n'ai pas accès aux propriétés que je veux

  10. #10
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Points : 8 734
    Points
    8 734
    Par défaut
    Citation Envoyé par GilardeauG Voir le message
    Sauf que LoadControl() me renvois un Control et non un userControl.

    Et même en le castant en UserControl, je n'ai pas accès aux propriétés que je veux
    Bah normal, c'est en WebUserPdf qu'il faut caster

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Février 2006
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 85
    Points : 91
    Points
    91
    Par défaut
    Citation Envoyé par lutecefalco Voir le message
    Bah normal, c'est en WebUserPdf qu'il faut caster
    Ui j'aurai dû être plus clair mais c'est bien ça

  12. #12
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 43
    Points : 26
    Points
    26
    Par défaut
    Oui, c'est vrai, j'ai pas été très intelligent sur ce coup

    En tout cas merci à tous, cette fois ci, ça marche

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

Discussions similaires

  1. [ODBC] Se connecter, lire, afficher des données bdd firebird avec php
    Par firebird1 dans le forum PHP & Base de données
    Réponses: 0
    Dernier message: 12/02/2015, 11h01
  2. [XL-2010] Afficher des données dans un UserForm avec condition
    Par CmzxNene dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 17/01/2013, 02h42
  3. afficher des donnée avec une page JSP
    Par alfred5 dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 02/04/2011, 16h56
  4. afficher des données sessions dans une jsp avec taglib
    Par psgman113 dans le forum Struts 1
    Réponses: 5
    Dernier message: 13/10/2008, 10h14
  5. Réponses: 5
    Dernier message: 06/02/2007, 13h46

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