c# Le méchant databind charge une deuxième fois le page_load!
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:
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...:aie: