Bonjour à tous!

Voici une devinette:
J'ai un porjet asp.net avec une gridview et une dropdownlist.
Au chargement de la page, je souhaite renseigner ces deux controles avec des databind à partir d'une autre fonction (appelée par le page_load) mais celles-ci obligent la fonction page_load a être relancée... L'ennui c'est que j'effectue mav sauvegarde par une session et que celle-ci se perd en route...
Le code est parfois plus compréhensible que les mots:
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
 
protected void Page_Load(object sender, EventArgs e)
    {
         if (this.IsPostBack)
        {
            dsAjouts = (System.Data.DataSet)Session["Ajout"];
        }
        else
        {
            if (dsAjouts.Tables.Count == 0)
            {
                Session["Ajout"] = dsAjouts;
                dsAjouts.Tables.Add("ajout");
                Colonnes[0] = new System.Data.DataColumn("Nom");
                Colonnes[1] = new System.Data.DataColumn("Prénom");
                dsAjouts.Tables[0].Columns.AddRange(Colonnes);
                Initialiser_datagrid();
            }
       }
   }
 
    public void Initialiser_datagrid()
    {
            System.Data.DataRow dr = dsAjouts.Tables[0].NewRow();
            dr["Nom"] = "(Nouveau Nom)";
            dr["Prénom"] = "(Nouveau Prénom)";
            dsAjouts.Tables[0].Rows.Add(dr);
            GridView1.DataSource = dsAjouts.Tables[0];
            GridView1.EditIndex = dsAjouts.Tables[0].Rows.Count - 1;
            GridView1.DataBind();  //<- réappelle page_load, pkoi? :cry:
    }
Voilà donc... Le IsPostBack fonctionne bien une première fois mais à cause du databind ci-dessus, je perds tout le contenu de ma session...

Je ne garantis pas que cela soit l'objet d'une belle connerie de ma part, alors n'hésitez pas à proposer... Les plus grosses erreurs sont parfois les plus invisibles...