Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Traitement serveur tout en fermant la fenêtre du navigateur clie nt

4 réponses
Avatar
ThierryP
Bonjour,
J'ai un formulaire avec un bouton "Valider" qui ouvre la page "maPage.aspx"
(via un window.showModalDialog).
Je souhaite qu'un clic sur ce bouton effectue un traitement
sur le serveur et que "maPage.aspx" se ferme.
Pour le moment le traitement serveur se fait bien mais une deuxième page
"maPage.aspx" s'ouvre.
Où écrire quel code pour que "maPage.aspx" se ferme plutôt que d'en ouvrir
une
deuxième ?

Au pire, en guise de solution de secours, je pourrais mettre un bouton
"Fermer" sur "maPage.aspx" mais comment empêcher la republication de cette
dernière lorsque l'on clique sur "Valider" ?

Plateforme : C# 1.1, VS 2003, ASP.net 1
Merci

4 réponses

Avatar
Patrice
"ce bouton" est-il celui qui ouvre mapage.aspx ou un bouton qui est lui-même
présent dans mapage.aspx ? Si cas 1, voir AJAX qui permet de faire de
traitements sur le serveur sans réafficher quoi que ce soit (d'ailleurs si
mapgae.aspx n'affichae absolumeent rien je pense que la fenêtre ne devrait
pas même s'ouvrir), si 2ème voir "base target="_self" qui permet de poster
une fenêtre modale vers elle-même au lieu d'en ouvrir une autre).

--
Patrice


"ThierryP" a écrit dans le message de
news:
Bonjour,
J'ai un formulaire avec un bouton "Valider" qui ouvre la page
"maPage.aspx"
(via un window.showModalDialog).
Je souhaite qu'un clic sur ce bouton effectue un traitement
sur le serveur et que "maPage.aspx" se ferme.
Pour le moment le traitement serveur se fait bien mais une deuxième page
"maPage.aspx" s'ouvre.
Où écrire quel code pour que "maPage.aspx" se ferme plutôt que d'en ouvrir
une
deuxième ?

Au pire, en guise de solution de secours, je pourrais mettre un bouton
"Fermer" sur "maPage.aspx" mais comment empêcher la republication de cette
dernière lorsque l'on clique sur "Valider" ?

Plateforme : C# 1.1, VS 2003, ASP.net 1
Merci



Avatar
ThierryP
Bonjour et merci,
Je me suis trés mal exprimé.
J'ai en fait "maPage.aspx" qui a été ouverte via un window.showModalDialog.
Cette page contient un formulaire pour reccueillir des infos et un bouton
valider.
En cliquant sur valider je souhaite que les infos soient utilisées sur le
serveur (sauvegardées notamment) et qu'en même temps mapage.aspx se ferme.

Où donc placer le code pour fermer "maPage.aspx" ?
Pas sur le "click" javascript du bouton car le traitement serveur
"btnValider_click" ne sera pas exécuté, mais où alors ?...

Concernant le pbm de republication j'ai essayé de mettre "target="_self"
dans la balise <form> de "maPage.aspx" mais une deuxième "maPage.aspx" est
quand même ouverte. Qu'entendez-vous par "base" dans "base target=..." ?

Encore merci.

"Patrice" a écrit :

"ce bouton" est-il celui qui ouvre mapage.aspx ou un bouton qui est lui-même
présent dans mapage.aspx ? Si cas 1, voir AJAX qui permet de faire de
traitements sur le serveur sans réafficher quoi que ce soit (d'ailleurs si
mapgae.aspx n'affichae absolumeent rien je pense que la fenêtre ne devrait
pas même s'ouvrir), si 2ème voir "base target="_self" qui permet de poster
une fenêtre modale vers elle-même au lieu d'en ouvrir une autre).

--
Patrice


"ThierryP" a écrit dans le message de
news:
> Bonjour,
> J'ai un formulaire avec un bouton "Valider" qui ouvre la page
> "maPage.aspx"
> (via un window.showModalDialog).
> Je souhaite qu'un clic sur ce bouton effectue un traitement
> sur le serveur et que "maPage.aspx" se ferme.
> Pour le moment le traitement serveur se fait bien mais une deuxième page
> "maPage.aspx" s'ouvre.
> Où écrire quel code pour que "maPage.aspx" se ferme plutôt que d'en ouvrir
> une
> deuxième ?
>
> Au pire, en guise de solution de secours, je pourrais mettre un bouton
> "Fermer" sur "maPage.aspx" mais comment empêcher la republication de cette
> dernière lorsque l'on clique sur "Valider" ?
>
> Plateforme : C# 1.1, VS 2003, ASP.net 1
> Merci
>





Avatar
Patrice
Donc de mémoire je mets une balise :
<base target="_self"> dans la section <head>. Cela permet de "forcer" la
fenêtre modale à poster vers elle-même.

Je pense avoir :
- soit renvoyé le code JavaScript qui ferme la fenêtre dans le onload du
body (ce qui permet de garder la fenêtre ouverte en ne générant pas cette
partie par exemple si pb de validation).
- ou peut-être sur le clic du bouton, je fais un frm.submit();window.close()
dans la foulée...

En farfouillant, je retrouverais peut-être dans quelle application j'ai
cela...

---
Patrice


"ThierryP" a écrit dans le message de
news:
Bonjour et merci,
Je me suis trés mal exprimé.
J'ai en fait "maPage.aspx" qui a été ouverte via un
window.showModalDialog.
Cette page contient un formulaire pour reccueillir des infos et un bouton
valider.
En cliquant sur valider je souhaite que les infos soient utilisées sur le
serveur (sauvegardées notamment) et qu'en même temps mapage.aspx se ferme.

Où donc placer le code pour fermer "maPage.aspx" ?
Pas sur le "click" javascript du bouton car le traitement serveur
"btnValider_click" ne sera pas exécuté, mais où alors ?...

Concernant le pbm de republication j'ai essayé de mettre "target="_self"
dans la balise <form> de "maPage.aspx" mais une deuxième "maPage.aspx"
est
quand même ouverte. Qu'entendez-vous par "base" dans "base target=..." ?

Encore merci.

"Patrice" a écrit :

"ce bouton" est-il celui qui ouvre mapage.aspx ou un bouton qui est
lui-même
présent dans mapage.aspx ? Si cas 1, voir AJAX qui permet de faire de
traitements sur le serveur sans réafficher quoi que ce soit (d'ailleurs
si
mapgae.aspx n'affichae absolumeent rien je pense que la fenêtre ne
devrait
pas même s'ouvrir), si 2ème voir "base target="_self" qui permet de
poster
une fenêtre modale vers elle-même au lieu d'en ouvrir une autre).

--
Patrice


"ThierryP" a écrit dans le message
de
news:
> Bonjour,
> J'ai un formulaire avec un bouton "Valider" qui ouvre la page
> "maPage.aspx"
> (via un window.showModalDialog).
> Je souhaite qu'un clic sur ce bouton effectue un traitement
> sur le serveur et que "maPage.aspx" se ferme.
> Pour le moment le traitement serveur se fait bien mais une deuxième
> page
> "maPage.aspx" s'ouvre.
> Où écrire quel code pour que "maPage.aspx" se ferme plutôt que d'en
> ouvrir
> une
> deuxième ?
>
> Au pire, en guise de solution de secours, je pourrais mettre un bouton
> "Fermer" sur "maPage.aspx" mais comment empêcher la republication de
> cette
> dernière lorsque l'on clique sur "Valider" ?
>
> Plateforme : C# 1.1, VS 2003, ASP.net 1
> Merci
>







Avatar
ThierryP
Merci bcp.
Le <base target... fonctionne bien.

Pour ce qui est de la fermeture,
- la solution 2 "frm.submit();window.close()" ferme la fenêtre sans que
btnValider_Click s'exécute sur le serveur.
- en ce qui concerne la solution 1 si j'ai bien compris l'idée est de mettre
"onclick=window.close();" dans la balise <body> seulement si le postBack de
la page est à vrai ? Mais comment faire cela ? Sur un contrôle serveur comme
le bouton par ex. je fais
"btnValider.Attributes.Add("onclick","window.close();" mais pour le body ???
Merci



"Patrice" a écrit :

Donc de mémoire je mets une balise :
<base target="_self"> dans la section <head>. Cela permet de "forcer" la
fenêtre modale à poster vers elle-même.

Je pense avoir :
- soit renvoyé le code JavaScript qui ferme la fenêtre dans le onload du
body (ce qui permet de garder la fenêtre ouverte en ne générant pas cette
partie par exemple si pb de validation).
- ou peut-être sur le clic du bouton, je fais un frm.submit();window.close()
dans la foulée...

En farfouillant, je retrouverais peut-être dans quelle application j'ai
cela...

---
Patrice


"ThierryP" a écrit dans le message de
news:
> Bonjour et merci,
> Je me suis trés mal exprimé.
> J'ai en fait "maPage.aspx" qui a été ouverte via un
> window.showModalDialog.
> Cette page contient un formulaire pour reccueillir des infos et un bouton
> valider.
> En cliquant sur valider je souhaite que les infos soient utilisées sur le
> serveur (sauvegardées notamment) et qu'en même temps mapage.aspx se ferme.
>
> Où donc placer le code pour fermer "maPage.aspx" ?
> Pas sur le "click" javascript du bouton car le traitement serveur
> "btnValider_click" ne sera pas exécuté, mais où alors ?...
>
> Concernant le pbm de republication j'ai essayé de mettre "target="_self"
> dans la balise <form> de "maPage.aspx" mais une deuxième "maPage.aspx"
> est
> quand même ouverte. Qu'entendez-vous par "base" dans "base target=..." ?
>
> Encore merci.
>
> "Patrice" a écrit :
>
>> "ce bouton" est-il celui qui ouvre mapage.aspx ou un bouton qui est
>> lui-même
>> présent dans mapage.aspx ? Si cas 1, voir AJAX qui permet de faire de
>> traitements sur le serveur sans réafficher quoi que ce soit (d'ailleurs
>> si
>> mapgae.aspx n'affichae absolumeent rien je pense que la fenêtre ne
>> devrait
>> pas même s'ouvrir), si 2ème voir "base target="_self" qui permet de
>> poster
>> une fenêtre modale vers elle-même au lieu d'en ouvrir une autre).
>>
>> --
>> Patrice
>>
>>
>> "ThierryP" a écrit dans le message
>> de
>> news:
>> > Bonjour,
>> > J'ai un formulaire avec un bouton "Valider" qui ouvre la page
>> > "maPage.aspx"
>> > (via un window.showModalDialog).
>> > Je souhaite qu'un clic sur ce bouton effectue un traitement
>> > sur le serveur et que "maPage.aspx" se ferme.
>> > Pour le moment le traitement serveur se fait bien mais une deuxième
>> > page
>> > "maPage.aspx" s'ouvre.
>> > Où écrire quel code pour que "maPage.aspx" se ferme plutôt que d'en
>> > ouvrir
>> > une
>> > deuxième ?
>> >
>> > Au pire, en guise de solution de secours, je pourrais mettre un bouton
>> > "Fermer" sur "maPage.aspx" mais comment empêcher la republication de
>> > cette
>> > dernière lorsque l'on clique sur "Valider" ?
>> >
>> > Plateforme : C# 1.1, VS 2003, ASP.net 1
>> > Merci
>> >
>>
>>
>>