Rafraîchir une page mère à partir de la page fille avec c#

Signaler
Messages postés
1
Date d'inscription
vendredi 21 janvier 2005
Statut
Membre
Dernière intervention
21 janvier 2005
-
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
-
bonjour,

j'ai un page avec un datagrid, et un bouton permettant d'ouvrir une page fille pour créer un enregistrement. après la sauvegarde, j'aimerai rafraîchir ma feuille mère pour faire apparaître l'enregistrement nouvellement créer.

j'ai essayé les deux instructions suivantes (avec le opener) :


this.Page.RegisterStartupScript("succes", "<script>window.close(); window.opener.location.reload();<" + "/" + "script>");


Response.Write("<HTML><HEAD></HEAD><" + "/" + "BODY><" + "/" + "BODY>");

et j'ai eu l'erreur suivante :

la page ne peut pas être actualisée sans le renvoi d'informations
cliquez sur recommencer pour renvoyer les informations ou sur annuler pour revenir à la page que vous avez essayier de consulter.

si je clique sur recommencer ma page sera rafraîchi, mais ce n'est pas très agréable

est ce que quelqu'un sait comment je peux me débarrasser de ce message

merci d'avance

fady

3 réponses

Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
28
Le mieux ce serait de faire un submit de ta page, ca t'évitera ce
message. Pour cela soit tu aimes le code propre donc tu ecris un peu
plus de ligne, soit tu fais comme moi qui suis hyper pressé



et ecrit un truc du genre

this.Page.RegisterStartupScript("succes",
"<script>window.close(); window.opener.__DoPostback("Page","refresh");<" +
"/" + "script>");



normalement si je dis pas
de connerie, tu devrais recharger la page, en faisant un postback, donc
dans le page_load, tu vas pouvoir recuperer les infos
("page","refresh") via les param sender et e je crois de la procédure
page_load.



Je te donne juste une piste car j'ai malheureusement pas le temps, mais
regarde mes sources sur les evenements, postback etc... et essaye de
comprendre ce que j'ai mis, en gros je te fais rajouter un evement
simplifié à la page.


<!--StartFragment -->
<hr>

Cyril - Webmaster de Hoshimi.CodeS-SourceS.fr<sp =""></sp>
Messages postés
66
Date d'inscription
vendredi 13 février 2004
Statut
Membre
Dernière intervention
19 mai 2006

euh j'ai un petit probleme ... j'ai le même problème que fady, mais j'arrive pas a utilisé ta solution jesus, donc pourrai tu préciser un peut ce qu'il faut mettre dans le DoPostBack

Merci d'avance
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
28
T'as fais ce que j'ai mis ? normalement en faisant ca, dans la page
fille, ca t'ajoute un script qui ferme la page et execute une action
sur la page mère.



Aprés reflexion, faudrais mieux faire le contraire, appellé la méthode
de la page mère, puis fermer la page ce serait plus logique



Le code que j'ai montré est relativement "quick & dirty" mais il
faut que la page mère possede au moins un controle qui peut faire un
postback, pour que la page HTML possède la fonction __DoPostBack. Cette
fonction, fais faire un postback à la page, donc la procèdure page_load
est reexecuté ! à partir de la, tu peux modifier les données etc...


<hr>
Cyril - MCP ASP.net
Webmaster de : Hoshimi.CodeS-SourceS.fr