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 ??