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 :

List<struct> comme DataSource


Sujet :

ASP.NET

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2010
    Messages : 3
    Par défaut List<struct> comme DataSource
    Salut a tous!

    je cherche le moyen de récupérer (dans mon aspx) les champs du List<struct> que j'ai comme DataSource voici mon code:

    Ma structure:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    namespace W24_TP2_1016067
    {
        public class itemPanier
        {
              public string UserName;
              public int Quantitee;
              public int ProduitID;
    
        }
    }
    
    Ma variable Session:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        List<itemPanier> monPanier = new List<itemPanier>();
        Session.Add("Panier", monPanier);
    
    L'assignation a mon ListView:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        List<itemPanier> Panier = (List<itemPanier>)Session["Panier"];
        lvPanier.DataSource = Panier;
        lvPanier.DataBind();
    Maintenant je veux recupérer dans mon aspx et c'est ici que ca se gate
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <asp:TextBox ID="txtUserName"  runat="server" Text='<%# Eval("UserName") %>'/>
    j'obtient le message d'erreur suivant:
    DataBinding : 'W24_TP2_1016067.itemPanier' ne comporte pas de propriété appelée 'UserName'.
    Comment je fais pour afficher la valeur de UserName ?

    car je peux traiter l'objet session avec un cast du type itemPanier et ca marche :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
                lePanier = ((List<itemPanier>)Session["Panier"]);
                foreach (itemPanier itm in lePanier)
                {
                    Response.Write("UserName : " + itm.UserName + "<br>");
                }
    
    mais le probleme c'est que je l'ai comme datasource alors je peux surement acceder au UserName du DataSource mais comment? quelqu'un peut m'aider ??

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 18
    Par défaut
    Salut,

    Réécris ta classe de la manière suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    public class itemPanier
    {
    public string UserName { get; set; }
    public int Quantite { get; set; }
    public int ProduitID { get; set; }
    }
    Trouve aussi un tutoriel sur les propriétés en C#, il doit sûrement y avoir ça sur developpez.com !

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2010
    Messages : 3
    Par défaut
    je pense que le problème n'est que la syntaxe afin de pointer à la bonne place dans le DataSource car avec un point d'arrêt je vois la valeur du premier item de la liste avec la bonne valeur soit 'daco' mais que dois-je mettre au Eval() afin de pointer sur le username. voici un copier coller de l'info du premier item de la liste obtenue en runtime sur le DataSource :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (((System.Collections.Generic.List<W24_TP2_1016067.itemPanier>)(lvPanier.DataSource)))._items[0].UserName "daco"
    je sens que la solution est a mes pied mais! je commence en prog ... alors je n'y vois rien!
    merci de m'aider

  4. #4
    Membre émérite Avatar de Ramajb
    Homme Profil pro
    ----------------------------
    Inscrit en
    Septembre 2007
    Messages
    476
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : ----------------------------

    Informations forums :
    Inscription : Septembre 2007
    Messages : 476
    Par défaut
    Salut,

    poste nous ton code balisé ListView.

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

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Par défaut
    Tu dois mettre en place des propriétés, comme indiqué par ptitcastor

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2010
    Messages : 3
    Par défaut Resolu!
    Eh oui, PetitCastor avait bel et bien raison, en modifiant ma structure avec le { get; set; } tout est entré dans l'ordre...

    Merci a tous et félicitations pour ce magnifique coin de pays qu'est developpez.net

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

Discussions similaires

  1. Utilisation d'une liste de POCO's comme datasource
    Par Kropernic dans le forum VB.NET
    Réponses: 15
    Dernier message: 13/06/2013, 12h44
  2. SSRS Intégration d'un paramètre avec un cube comme datasource
    Par nico18987 dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 12/04/2007, 17h55
  3. [PostGreSQL] Trier une liste ayant deux requêtes comme source
    Par Mat_DZ dans le forum PHP & Base de données
    Réponses: 11
    Dernier message: 09/08/2006, 10h51
  4. pb liste avec une requête comme contenu
    Par pellec dans le forum IHM
    Réponses: 1
    Dernier message: 07/06/2006, 17h07
  5. Enregister une base de donnee Mysql comme dataSource.
    Par rider4ever dans le forum Outils
    Réponses: 3
    Dernier message: 10/02/2006, 16h51

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