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

Fady sayegh Messages postés 1 Date d'inscription vendredi 21 janvier 2005 Statut Membre Dernière intervention 21 janvier 2005 - 21 janv. 2005 à 18:34
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 - 2 mars 2005 à 12:13
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

jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
22 janv. 2005 à 03:11
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>
0
EvilDef Messages postés 66 Date d'inscription vendredi 13 février 2004 Statut Membre Dernière intervention 19 mai 2006
2 mars 2005 à 10:42
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
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
2 mars 2005 à 12:13
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
0