123 Stimmen

Response.Redirect to new window

Ich möchte eine Response.Redirect("MyPage.aspx") aber in einem neuen Browserfenster öffnen lassen. Ich habe das schon einmal gemacht, ohne die JavaScript-Registerskript-Methode zu verwenden. Ich kann mich nur nicht erinnern, wie?

11voto

Sie können auch im Code dahinter wie folgt vorgehen

ClientScript.RegisterStartupScript(this.Page.GetType(), "",
  "window.open('page.aspx','Graph','height=400,width=500');", true);

9voto

Zen Of Kursat Punkte 2473

Popup-Methode wird dem Besucher eine sichere Frage stellen.

Hier ist meine einfache Lösung: und funktioniert überall.

<script type="text/javascript">
    function targetMeBlank() {
        document.forms[0].target = "_blank";
    }
</script>

<asp:linkbutton  runat="server" ID="lnkbtn1" Text="target me to blank dude" OnClick="lnkbtn1_Click" OnClientClick="targetMeBlank();"/>

8voto

John Sheehan Punkte 75473

Dies ist mit Response.Redirect nicht möglich, da es auf der Serverseite geschieht und Ihren Browser nicht dazu veranlassen kann, diese Aktion durchzuführen. Was würde im Ausgangsfenster übrig bleiben? Eine leere Seite?

6voto

dpp Punkte 27068
<asp:Button ID="btnNewEntry" runat="Server" CssClass="button" Text="New Entry"

OnClick="btnNewEntry_Click" OnClientClick="aspnetForm.target ='_blank';"/>

protected void btnNewEntry_Click(object sender, EventArgs e)
{
    Response.Redirect("New.aspx");
}

Quelle: http://dotnetchris.wordpress.com/2008/11/04/c-aspnet-responseredirect-open-into-new-window/

4voto

humbads Punkte 2985

Wenn Sie Ihren Code so umstrukturieren können, dass Sie kein Postback benötigen, können Sie diesen Code im PreRender-Ereignis der Schaltfläche verwenden:

protected void MyButton_OnPreRender(object sender, EventArgs e)
{
    string URL = "~/MyPage.aspx";
    URL = Page.ResolveClientUrl(URL);
    MyButton.OnClientClick = "window.open('" + URL + "'); return false;";
}

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X