2009-05-22 4 views

Antwort

4

Sie Registerstartup verwenden können, ein window.open Skript senden die Seite geladen wurde ausgeführt einmal.

Dies wird jedoch dazu führen, dass die Mehrheit der Popup-Blocker Ihnen in den Weg kommt.

+1

Hier finden Sie @BradParks Antworten für eine gute Idee, wie Popup-Blocker zu täuschen. – Cyberherbalist

0

Einfache Probe von Registerstartup:

RegisterStartupScript("id1", "<script type=\"text/javascript\">alert(\"I'm from JavaScript.\");</script>"); 
0

Neue Fenster können sehr lückenhaft sein, je nach Inhalt, die Sie benötigen Sie präsentieren könnte mit einem in Fenster Pop-in Betracht ziehen, wenn man so will. Sie werden Pop-up-Blocker auf diese Weise vermeiden. Wenn Sie mehr Details geben können, können wir bessere Antworten geben.

2

ich denke, das ist ;-) ein neues leeres Fenster öffnen arbeiten sollten Sie Post zurück, bevor

einige Javascript zu Ihrem Radio-Button hinzufügen. Dies macht es so, dass Popup-Blocker Ihr Popup nicht blockieren, da es als Reaktion auf einen Benutzerklick geöffnet wird. Siehe this link für wie man diesen Teil macht.

Dann erlauben Sie das Postback als normal passieren und beim Laden der Seite, registrieren Sie ein Startskript, um Ihr bereits vorhandenes Fenster zu einer neuen URL zu sagen.

String script = "window.open('popupPage.aspx', 'myPopup')"; 
ScriptManager.RegisterStartupScript(Page, Page.GetType(), "someId", script, true); 

Beachten Sie, dass in JavaScript aktivieren, wenn Sie

window.open(url, 'myPopup') 

nennen, wenn ein Fenster bereits mit diesem Namen existiert werde es zurückgeben, anstatt ein neues Fenster zu schaffen ... So Ihr Pop-up wird nicht werde blockiert!

+1

Dies scheint sehr gut zu funktionieren. Danke, dass du diese Antwort lange nachdem die andere Antwort angenommen wurde, gepostet hast! Du hast mir viel Kummer erspart. – Cyberherbalist