2010-09-14 35 views
0

J'ai un site Web asp.net StartPage qui ne nécessite pas de connexion, afin de pouvoir l'afficher. Sur cette StartPage, il y a un bouton de connexion qui, lorsqu'on clique dessus, ouvre une petite page popup de connexion. Malheureusement, une fois que l'utilisateur a saisi ses informations d'identification et clique sur le login, la page de destination se charge dans la même fenêtre contextuelle qui n'est pas le résultat souhaité. Ce que je voudrais, c'est quand l'utilisateur a été authentifié avec succès, la fenêtre de connexion popup devrait fermer et rediriger l'utilisateur vers la page de destination, mais cette page de destination devrait charger dans la fenêtre principale d'origine.Comment puis-je rediriger vers la fenêtre principale après m'être connecté à un site Web à partir d'une fenêtre contextuelle?

C'est la fonction qui ouvre les fenêtres pop-up

function PopupCenter(pageURL, title, w, h) { 
      var left = (screen.width/2) - (w/2); 
      var top = (screen.height/2) - (h/2); 
      var targetWin = window.open(pageURL, title, 'toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=no, copyhistory=no, width=' + w + ', height=' + h + ', top=' + top + ', left=' + left); 
     }   

Et la linkbutton propriété OnClient est comme si

<asp:LinkButton ID="LinkButton2" runat="server" 
    onclientclick="PopupCenter('Login.aspx', 'myPop1',400,300);">Log Me In</asp:LinkButton> 
+0

les vrais pop-ups sont incroyablement moche à la fois esthétiquement et techniquement - utilisez une lightbox comme le suggère Restuta. – annakata

Répondre

2

Ceci est impossible avec cette approche, je veux dire que vous devriez éviter d'utiliser fenêtre .open. Au lieu de cela, vous pouvez créer votre pop-up personnalisé (par exemple en utilisant divs). Dans cette fenêtre, vous devrez créer les mêmes éléments HTML que dans votre page "Login.aspx" et la même logique de serveur. Ensuite, vous devrez modifier votre fonction PopupCenter pour ouvrir votre fenêtre contextuelle personnalisée au lieu d'utiliser window.open.

+1

FYI: Les pop-ups que vous décrivez sont classiquement connues sous le nom de pop-overs ou de lightbox. Vous avez raison :) – annakata

+0

Restuta - Avez-vous un bon lien qui peut me permettre de commencer à "créer des pop-ups personnalisés en utilisant Divs) afin que je puisse voir combien de travail est nécessaire et décider si je devrais prendre la route – StackTrace

+1

jqModal FTW http://dev.iceburg.net/jquery/jqModal/ – RPM1984