Bonjour à tous!

Je suis plutôt débutante en ASP.net/CSharp et j'espère être capable de nommer mon problème correctement.

Dans Application_Start de global.asax, je met quelques items d'une classe créé pour ne pas avoir à toujours en créer pour faire mes tests :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
System.Collections.Generic.List<Films> starMoviesCollect = new System.Collections.Generic.List<Films>();
 
starMoviesCollect.Add(new Films(1, "Crash", "Paul Haggis", 2004, 11.96));
 
Application["liste"] = starMoviesCollect;
J'ajoute facilement des items à cette liste (qui seront disponible pendant la session)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
List<Films> listeFilms = (List<Films>)Application["liste"];
int id = (listeFilms.Count) + 1;
string titre = tbox_titre.Text;
string realisateur = tbox_realisateur.Text;
int annee = Convert.ToInt16(tbox_annee.Text);
double prix = Convert.ToDouble(tbox_prix.Text);
 
listeFilms.Add(new Films(id, titre, realisateur, annee, prix));
Mais je n'arrive pas à les modifier alors que j'utilise sensiblement la même technique sauf que lors de la redirection à la page qui liste les éléments, rien n'a changé...

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
List<Films> listeFilms = (List<Films>)Application["liste"];
int valeur = (int)Session["film_modification"];
 
listeFilms[valeur].titre = tbox_titre.Text;
listeFilms[valeur].realisateur = tbox_realisateur.Text;
listeFilms[valeur].annee = Convert.ToInt16(tbox_annee.Text);
listeFilms[valeur].prix = Convert.ToDouble(tbox_prix.Text);
 
Response.Redirect("admin_inventaire.aspx");

Est-ce que quelqu'un pourrait me dire ce qui cloche dans ma façon de penser?


Merci!!

Isabelle

Au cas où vous en auriez besoin : admin_inventaire.aspx :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
protected void Page_Load(object sender, EventArgs e)
    {
        if (Request.Cookies["StarMovies"] == null)
        {
            Response.Redirect("admin_authentification.aspx");
        }
 
        List<Films> listeFilms = (List<Films>)Application["liste"];
 
        for (int i = 0; i < listeFilms.Count; i++)
        {
            /* entre les infos dans un tableau, une rangée par item en utilisant, par exemple listeFilms[i].titre*/
        }