CrossPostBack + Response.redirect

stephsk09 Messages postés 34 Date d'inscription jeudi 2 mars 2006 Statut Membre Dernière intervention 16 juin 2009 - 29 avril 2008 à 15:18
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 - 5 mai 2008 à 13:48
Bonjour,

j'ai un souci qui n'en est pas vraiment un...

Voila depuis une page A j'ouvre une page B a l'aide du PostBackUrl (jusque la rien d'inquiétant)

je manipule ma page B ---> ok

a ce moment j'ai 2 pages ouvertes A et B

je ferme B

et dans A après appui sur un bouton je fais un Response.Redirect("mapage.aspx");

Voila ou se tient le problème...

mapage.aspx n'est pas charge à la palce de ma page A mais bien dans une autre page (en l'occurence celle de la B)

qqn peut il venir en aide ...???

Merci d avance

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
29 avril 2008 à 17:47
Bonjour,

Quand tu dis 2 pages ouvertes tu parles bien de 2 fenêtres du navigateur ? c'est pas le comportement classique du postback ca ... comment tu fais pour faire ton postback (crosspostback) dans une nouvelle fenetre ? je pense que le problème vient de là, lorsque tu click sur ton button tu fais toujours ton postback dans la nouvelle fenetre.

<hr />Cyril - MSP - MCPD ASP.net & MCTS SQL - Consultant indépendant
0
stephsk09 Messages postés 34 Date d'inscription jeudi 2 mars 2006 Statut Membre Dernière intervention 16 juin 2009
5 mai 2008 à 09:51
en fait lors de mon click sur mon bouton qui m'ouvre une nouvelle fenetre je met ceci :

OnClientClick

"theForm.target'_blank'"
PostBackUrl="mapage.aspx"

je pense que le problème se trouve au niveau du "theform.target" ...

Si qqn s'aurai m'aider ...

N'y aurait il pas une solution du style

coté code behind

if(!Page.IsCrossPagePostBack)
{
   //memoriser l etat de la page genre:  curtar =  target.current
}
else
{
   //remettre l'ancienne valeur : target.current = curtar ...????
}
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
5 mai 2008 à 13:48
Ne mélange pas tout entre execution coté client et execution coté serveur ... Tu modifies la balise form coté client.
ce que tu peux faire c'est un timer (window.setTimeout) qui déferra cette modif après que tu ai cliqué dessus.

<hr />Cyril - MSP - MCPD ASP.net & MCTS SQL - Consultant indépendant
0