OVH Cloud OVH Cloud

Recharger une page via une autre

10 réponses
Avatar
Delf
Bonjour.

Je ne sais pas si celà est possible : j'ai une page ASP.NET qui contient
un lien. Quand je clique dessus, un popup s'ouvre. Ce popup sert à créer
un répertoire. Après la saisie et validation du formulaire, je voudrais
que la page mère (cad, la page ASP.NET qui a ouvert ce popup) soit
recharger pour faire figurer le répertoire fraîchement créé...

Des idées ? suggestions ?
Merci.

--
Demf

10 réponses

Avatar
\(¯`·..Yttrium ...·´¯\)
Bjr,

Voir du coté de window.opener

Salutations.
Avatar
Thibaut Allender
Voir du coté de window.opener


plus spécifiquement, window.opener.history.go(0) devrait répondre à la
demande

--
thibaut allender | freelance | http://capsule.org

Avatar
Delf
Thibaut Allender wrote:

plus spécifiquement, window.opener.history.go(0) devrait répondre à la
demande


Utilisé dans l'attribut onunload de la balise body : ca m'affiche le
message comme quoi la page va se rafraichir avec envoi de données...

J'ai bien un formulaire ASP.NET sur cette page mais ce n'est pas un
formulaire de saisie. Uniquement des DataLists et des asp:Tables...

Comment éviter ce message ?

Merci.

--
Delf

Avatar
Thibaut Allender
Utilisé dans l'attribut onunload de la balise body : ca m'affiche le
message comme quoi la page va se rafraichir avec envoi de données...

J'ai bien un formulaire ASP.NET sur cette page mais ce n'est pas un
formulaire de saisie. Uniquement des DataLists et des asp:Tables...


mais elle est issue d'un POST non ?

--
thibaut allender | freelance | http://capsule.org

Avatar
Delf
Thibaut Allender wrote:

mais elle est issue d'un POST non ?


Oui, et je ne peux pas recharger l'URL de cette page car j'ai des
ViewStates derrière...

--
Delf

Avatar
Delf
Delf wrote:

Oui, et je ne peux pas recharger l'URL de cette page car j'ai des
ViewStates derrière...


Finalement, dans le popup, j'ai le ViewState qui m'intéresse. Dans le
pire des cas, je peux recharger la page via son URL :

windows.opener.location=windows.opener.location

je crois...

Mais faudrait que je puisse créer une variable de Session ASP avant le
refresh...

--
Delf

Avatar
Thibaut Allender
Oui, et je ne peux pas recharger l'URL de cette page car j'ai des
ViewStates derrière...


des ViewStates ?
Elle ne peut pas venir d'un GET plutôt que d'un POST ?

Sinon, il est impossible de supprimer l'alerte si on recharge une page
issue d'un POST

--
thibaut allender | freelance | http://capsule.org

Avatar
Delf
Thibaut Allender wrote:

des ViewStates ?
Elle ne peut pas venir d'un GET plutôt que d'un POST ?


J'ai pas compris...

Sinon, il est impossible de supprimer l'alerte si on recharge une page
issue d'un POST


J'ai tenté dans un élan de désespoir de changer le POST par GET... pas bon.

Sinon, voici une méthode qui fonctionne mais qui n'est vraiment pas
élégante :

Dans le code-behind du popup :

protected void RefreshParentPage(object sender, System.EventArgs e)
{
Session["CurrentFolderToRefresh"] = ViewState["CurrentFolder"];

Response.Write("<script
type="text/javascript">javascript:window.opener.location='media.aspx';self.close();</script>");
}

Puis traitement à faire dans le Page_Load() de media.aspx pour se
replacer dans le contexte.

Merci de votre aide.

--
Delf

Avatar
YD
Voir du coté de window.opener


plus spécifiquement, window.opener.history.go(0)


ou encore : window.opener.location.reload(true)

(le paramètre true est censé forcer le rechargement
depuis le serveur et non le cache du navigateur)

--
Y.D.


Avatar
Thibaut Allender
Response.Write("<script
type="text/javascript">javascript:window.opener.location='media.aspx';self.close();</script>");


javascript: est inutile (vous précisez déjà "text/javascript")

--
thibaut allender | freelance | http://capsule.org