Schließen Sie ein Browser-Fenster von einer ASP.NET und AJAX-Anwendung

stimmen
1

Was ist der beste Weg, um ein Browserfenster einer AJAX ASP.NET-Anwendung, nachdem die Server-Seite ausgeführt wurde zu schließen.

Ich fand diese Lösung , aber es scheint ein wenig komplex für das, was ich erreichen will. Oder ist dies der beste Weg , um meine Aufgabe zu erfüllen.

UPDATE: Ich habe das Fenster zu schließen , nachdem die Taste gedrückt wird

UPDATE 1: ich die Lösung von der anderen Frage SO versucht, und es hat bei mir nicht funktioniert.

<asp:Button ID=btnMyButton runat=server onClick=btnMyButton_Click />

protected void btnMyButton_Click(object sender, EventArgs e)
{
}

Ich habe den folgenden Code in meine Seite, aber die „Die angezeigte Webseite versucht, das Fenster zu schließen“ Modul-Fenster sich öffnet.

if (ScriptManager.GetCurrent(this).IsInAsyncPostBack)
            ScriptManager.RegisterStartupScript(upApproveRequest, typeof(string), closeWindow, window.close();, true);

Jede Art und Weise, dies zu verhindern?

Veröffentlicht am 10/12/2008 um 00:49
quelle vom benutzer
In anderen Sprachen...                            


4 antworten

stimmen
1

Eigentlich können Sie dies tun, indem Sie den folgenden Code in Ihre Schaltfläche klicken Ereignis platzieren.

protected void btnMyButton_Click(object sender, ImageClickEventArgs e)
{
    // Update database
    bool success = Presenter.DoDatabaseStuff();

    if (success)
    {
        // Close window after success
        const string javaScript = "<script language=javascript>window.top.close();</script>";
        if (!ClientScript.IsStartupScriptRegistered("CloseMyWindow"))
        {
            ClientScript.RegisterStartupScript(GetType(),"CloseMyWindow", javaScript);
        }
    }
    else
    {
        // Display failure result
        result_msg_area.Visible = true;
        lblError.Text = "An error occurred!";                
    }
}
Beantwortet am 10/09/2010 um 15:36
quelle vom benutzer

stimmen
1

Nein, es gibt keine Möglichkeit, ein Browser-Fenster ohne die Zustimmung des Benutzers zu schließen. Sie können sie ihre Anwendung abmelden, aber Sie können die Browser-Fenster nicht gewaltsam schließen.

Beantwortet am 10/12/2008 um 03:23
quelle vom benutzer

stimmen
0

Um das Skript Warnung zu vermeiden, können Sie diese verwenden:

window.open('', '_self', '');window.close();

Damit:

if (ScriptManager.GetCurrent(this).IsInAsyncPostBack)
        ScriptManager.RegisterStartupScript(upApproveRequest, typeof(string), "closeWindow", "window.open('', '_self', '');window.close();", true);
Beantwortet am 14/02/2012 um 20:43
quelle vom benutzer

stimmen
-2

Das wars so ziemlich. Sie können einfach verwendenScriptManager.RegisterStartupScript(...)

Beantwortet am 10/12/2008 um 00:53
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more