Sluit een browservenster van een ASP.NET en AJAX applicatie

stemmen
1

Wat is de beste manier om een ​​browservenster van een AJAX ASP.NET toepassing te sluiten nadat de server-side is uitgevoerd.

Ik vond deze oplossing , maar het lijkt een beetje ingewikkeld voor wat ik wil bereiken. Of is dit de beste manier om mijn taak te volbrengen.

UPDATE: Ik moet het venster te sluiten nadat de knop is ingedrukt

UPDATE 1: Ik heb geprobeerd de oplossing van de andere SO vraag, en het werkte niet voor mij.

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

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

Ik gebruikte de volgende code in mijn pagina, maar de De webpagina die u bekijkt probeert om de vensters te sluiten module venster verschijnt.

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

Een manier om dit te voorkomen?

De vraag is gesteld op 10/12/2008 om 00:49
bron van user
In andere talen...                            


4 antwoorden

stemmen
-2

Dat is het eigenlijk wel. Je kunt gewoon gebruik maken vanScriptManager.RegisterStartupScript(...)

antwoordde op 10/12/2008 om 00:53
bron van user

stemmen
1

Nee, er is geen manier om een ​​browservenster te sluiten zonder toestemming van de gebruiker. U kunt ze zich afmeldt bij de toepassing ervan, maar je kunt niet met geweld het browservenster te sluiten.

antwoordde op 10/12/2008 om 03:23
bron van user

stemmen
1

Eigenlijk kunt u dit doen door het plaatsen van de volgende code in uw klik op de knop evenement.

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!";                
    }
}
antwoordde op 10/09/2010 om 15:36
bron van user

stemmen
0

Om het script waarschuwing te vermijden, kunt u dit gebruiken:

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

Zo:

if (ScriptManager.GetCurrent(this).IsInAsyncPostBack)
        ScriptManager.RegisterStartupScript(upApproveRequest, typeof(string), "closeWindow", "window.open('', '_self', '');window.close();", true);
antwoordde op 14/02/2012 om 20:43
bron van user

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