Redirection via Popup avec action sur la fenêtre principale sous asp.net

elembro Messages postés 3 Date d'inscription lundi 28 juillet 2003 Statut Membre Dernière intervention 9 août 2004 - 6 août 2004 à 16:32
elembro Messages postés 3 Date d'inscription lundi 28 juillet 2003 Statut Membre Dernière intervention 9 août 2004 - 9 août 2004 à 09:28
code behind en vb.net
script en javascript

Voici mon problème:

j'ai un formulaire que l'on va appeller form1.aspx.
Ce formulaire après validation se redirige vers une page form2.aspx avec une variable passée par url et ouvre un popup pop1.aspx (avec la même variable) qui est aussi un formulaire.

comme j'ai un traitement en code-behind
j'ai une petite fonction vb pour lancer un javascript :

au lieu de faire un response.redirect("./form2.aspx?var=" & var)
je fais popup_javascript("./form2.aspx?var=" & var,"./pop1.aspx?var=" & var, "popup")

Protected Sub popup_javascript(ByVal url1 As String, ByVal url2 As String, ByVal name As String)

Dim javascript As New System.Text.StringBuilder()

javascript.Append("<script language=javascript>")

javascript.Append("parent.location.href=' " & url1 & " ';")

javascript.Append("window.open(' " & url2 & " ', ' " & name " ', 'width=560,height=300');")

javascript.Append("</script>")

RegisterStartupScript(name, javascript.ToString())

End Sub

Pour l'instant aucun problème...
Lorsque je valide mon pop1.aspx (code behind), je veux rafraichir mon form2.aspx, et rediriger le popup vers un pop2.aspx (avec la variable passer en url bien sur dans les deux cas).

schématiquement:

fenetre principale : form2.aspx ===> form2.aspx
popup : pop1.aspx ===> pop2.aspx

seulement je n'arrive pas à recharger la fenêtre principale, j'ai bien essayé avec opener.location mais rien n'y fait.

Merci d'avance

4 réponses

jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
6 août 2004 à 19:03
Je pense que ton problème si situe plus au niveau de javascript que d'asp.net

En tout cas j'ai bien aimé ta solution, pour ouvrir une popup et une page web :) cette solution me parait la plus simple et la plus "joli" :)

Je connais malheureusement rien a javascript, mais cherche deja a faire ca en pure HTML/javascript sans te preoccuper pour l'instant d'asp.net puis une fois que ca marchera, on pourra essayer de reproduire ca en asp.net

Par contre tient moi au courant car je suis interessé de voir comment on rafraichit la page parent à partir d'une popup :)

Petite idée, sur cette page, en cliquant sur les smileys on peut faire apparaitre une popup qui va interagir avec la page mere pour ajouter le smiley :)
Je verrais regardé comment ca tourne :)

J'ai dit regardé et comprendre pas recopier :D

@+

Cyril
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
6 août 2004 à 19:13
Je viens d'admirer le code de cette page :-p
Effectivement c'est bien avec Window.opener qu'on interagit avec la page parent donc j'ai deux solutions :

la premiere dans la popup ajoute ce script javascript :
window.opener.location.href(url1);
window.location.href(url2);

sinon tj dans la popup :

window.opener.RedirectTo(url1);
window.location.href(url2);

dans la page parent ajoute :

function RedirectTo( url )
{
window.location.href(url);
}

Je fais jamais de javascript dond je sais pas si ca va fonctionner correctement

Ton problème m'aura qd meme appris que c'est assez simple de controler une page parent à partir d'un enfant :)

Je me suis peut etre trompé entre url1 et url2 mais le principe est la ;)

@+

Cyril
0
elembro Messages postés 3 Date d'inscription lundi 28 juillet 2003 Statut Membre Dernière intervention 9 août 2004
9 août 2004 à 08:51
Salut!

Je vais essayer, pour voir si cela marche!

Je te tiens au courant!

@+

Julian
0
elembro Messages postés 3 Date d'inscription lundi 28 juillet 2003 Statut Membre Dernière intervention 9 août 2004
9 août 2004 à 09:28
Salut!

Les 2 solutions marchent!

merci beaucoup!

Julian
0
Rejoignez-nous