Bonjour tout le monde,

Je viens demander de l'aide après plusieurs jours de recherche et en dernier espoir je me tourne vers vous

J'ai une page aspx (GestionDisposV2) qui contient une GridView (DGV_LISTEJOURS) et une frame (FR_MODIFPERIODE)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<div id="listejours">
                     <asp:GridView ID="DGV_LISTEJOURS" runat="server" AutoGenerateColumns="False" OnRowCommand="DGV_LISTEJOURS_RowCommand" OnRowDataBound="DGV_LISTEJOURS_RowDataBound">
                        <Columns>
                            <asp:ImageField DataImageUrlField="AMPOULE"></asp:ImageField>
                            <asp:BoundField DataField="ID" HeaderText="ID" />
                            <asp:BoundField DataField="JOUR" HeaderText="JOUR" />
                            <asp:BoundField DataField="DEBUTDISPO" HeaderText="DEBUT DISPO" />
                            <asp:BoundField DataField="FINDISPO" HeaderText="FIN DISPO" />
                            <asp:ButtonField ButtonType="Button" CommandName="ajoutdispo" Text="+" />
                            <asp:ButtonField ButtonType="Button" CommandName="modifier" Text="Modifier" />
                            <asp:ButtonField ButtonType="Button" CommandName="activer" Text="ACTIVER" DataTextField="BTNACTIVER" />
                        </Columns>
                    </asp:GridView>
                </div>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
<div id="paramjour" class="auto-style1">
                    <br />
                    <iframe id="FR_MODIFPERIODE" runat="server" class="auto-style2"/>
                </div>
La frame est appelée est remplie via un bouton ayant un command argument et renvoie vers une page

case "modifier":
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
//affichage de la frame modif heures
FR_MODIFPERIODE.Attributes["src"] = "ModifPeriode_Heures.aspx?date="+ xligne.Cells[2].Text + " (Id:" + xligne.Cells[1].Text + ")&Debut="+ xligne.Cells[3].Text+"&Fin="+ xligne.Cells[4].Text;
Dans cette page qui est contenue dans la frame je fais des traitements qui vont modifier la bdd et à la fin j'aimerais rafraichir la gridview contenue dans la page de base.
J'ai donc, dans les traitements de la page "modifperiode_heures" mis une fonction de refresh

Code : Sélectionner tout - Visualiser dans une fenêtre à part
GestionDisposV2.refreshdgvext(xidperiode);
La fonction de refresh est dans la page "GestionDisposV2"
elle est en public static et s'exécute correctement

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
32
33
34
35
36
37
38
39
40
public static void refreshdgvext(int xidperiode)
        {
            DataTable xdttempo = new DataTable();
            DataRow xlignedttempo = null;
            GridView xdgv = (GridView)xpage.FindControl("DGV_LISTEJOURS");
            //on rempli la table des jours depuis la table
            DataTable xlistedispo_jours = BibliothequeClasses.GestionBDD.LectureBdd("select * from bddispos_periodesjours where idbddispos_periodes_int = '" + xidperiode + "';", BibliothequeClasses.Variables.xretourbddsiok);
            xdttempo.Columns.Add(new DataColumn("AMPOULE", typeof(string)));
            xdttempo.Columns.Add(new DataColumn("ID", typeof(string)));
            xdttempo.Columns.Add(new DataColumn("JOUR", typeof(string)));
            xdttempo.Columns.Add(new DataColumn("DEBUTDISPO", typeof(string)));
            xdttempo.Columns.Add(new DataColumn("FINDISPO", typeof(string)));
            xdttempo.Columns.Add(new DataColumn("BTNACTIVER", typeof(string)));
            DateTime xjour;
 
            //stockage dans la dt tempo
            foreach (DataRow xdispo_jours in xlistedispo_jours.Rows)
            {
                xjour = DateTime.Parse(xdispo_jours["dateperiode_da"].ToString());
                xlignedttempo = xdttempo.NewRow();
                if (int.Parse(xdispo_jours["dateperiode_actif_bo"].ToString()) == 1)
                {
                    xlignedttempo["AMPOULE"] = "~/Images/icones/icons8-lumière-allumée-48.png";
                    xlignedttempo["BTNACTIVER"] = "Desactiver";
                }
                else
                {
                    xlignedttempo["AMPOULE"] = "~/Images/icones/icons8-lumière-éteinte-48.png";
                    xlignedttempo["BTNACTIVER"] = "Activer";
                }
                xlignedttempo["ID"] = int.Parse(xdispo_jours["idbddispos_periodesjours_int"].ToString());
                xlignedttempo["JOUR"] = BibliothequeClasses.GestionDate_Heure.jour_jour_date(xjour) + "/" + BibliothequeClasses.GestionDate_Heure.mois_jour_date(xjour) + "/" + BibliothequeClasses.GestionDate_Heure.annee_jour_date(xjour);
                xlignedttempo["DEBUTDISPO"] = xdispo_jours["heuredebut_vc"].ToString();
                xlignedttempo["FINDISPO"] = xdispo_jours["heurefin_vc"].ToString();
                xdttempo.Rows.Add(xlignedttempo);
            }
            //deversement dans la dgv
            xdgv.DataSource = xdttempo;
            xdgv.DataBind();
        }
la récupération du xpage se fait dans le load et renvoie bien la bonne page
Et .... je n'ai aucun rafraichissement de ma gridview, rien ne se passe, par contre si je recharge la page manuellement les données ont bien été mises à jour.

Auriez-vous une idée de là ou j'ai pu faire mon erreur? En vous remerciant énormément, par avance de votre aide
Je n'ai pas envie d'abandonner tout le projet pour une erreur aussi idiote.
Merci par avance