2009-03-19 14 views

Antwort

3

Leider kann man das nicht von dem Server tun, müssen Sie Client-Seite Code verwenden, um ein neues Browser-Fenster zu erstellen. Sie könnten dies mit der Javascript-Funktion window.open tun.

Eine Möglichkeit wäre, die URL einzubetten, an die der Benutzer senden soll, und dann, wenn die Seite gerendert wird, eine Javascript-Funktion, die diese Eingabe auf einen Wert hin überprüft und einen gefunden hat würde den window.open Anruf tun.

5

Dies ist eine ziemlich häufige Frage, und die Antwort ist, dass Sie nicht können.

Der Grund ist, dass es bereits entschieden wird, wenn der Browser die Anfrage an den Server sendet, wo die Seite geladen wird. Wenn der Code auf dem Server startet, ist es zu spät, um zu ändern, wo die Seite geladen wird.

Sie können der Seite JavaScript hinzufügen, die ein neues Fenster öffnet, aber Sie müssen immer noch eine Seite als Antwort auf die Anfrage an den Browser senden (dh Sie können die aktuelle Seite nicht im Browser lassen, da der Browser bereits eine Seite angefordert hat, um sie zu ersetzen).

ClientScript.RegisterStartupScript(this.GetType(), "aspnet", "window.open('http://www.asp.net','_blank');", true); 
+0

+1 Danke für die Idee. Ich fand auch diese komplexere Lösung: http://weblogs.asp.net/infinitiesloop/archive/2007/09/25/response-redirect-into-a-new-window-with-extension-methods.aspx –

Verwandte Themen