Laden...

Fenster schließen

Erstellt von han vor 17 Jahren Letzter Beitrag vor 17 Jahren 1.418 Views
han Themenstarter:in
43 Beiträge seit 2006
vor 17 Jahren
Fenster schließen

Hallo,

Ich habe in meiner Webanwendung eine Form erstellt, die als PopUp Fenster geöffnet wird.
Man soll dort etwas eingeben und dann auf den "speichern" Button klicken.
Nachdem der Button "speichern" dann die eingegebenen Daten gespeichert hat, möchte ich, dass er das Fenster schließt. Wie mach ich das? Habe keinen Close Befehl oder sowas in this. oder this.Page oder so gefunden.
Bzw nur einen in this.Page.Response.Close() aber das funktioniert nicht.
Gibts da n Befehl oder geht das überhaupt nicht?

1.130 Beiträge seit 2005
vor 17 Jahren

Ein Fenster zu schließen, erfordert Code, der auf der Clientseite ausgeführt werden muss. C# wird aber serverseitig ausgeführt.

Mit der JavaScript Methode Window.Close(); kannst du ein Fenster schließen. Dies musst Du dann nur noch per RegisterStartpScript registrieren.

han Themenstarter:in
43 Beiträge seit 2006
vor 17 Jahren

hm, schon mal danke

der sagt mir diese RegisterStartupScript wäre veraltet und ich sollte die ClientScript.RegisterStartupScript nehmen
ich muss der aber 3 parameter übergeben
nen type und 2 strings (key und script)
was muss ich denn da genau übergeben?
habs nu so:


        System.Type java = this.GetType();
        string key = "fensterSchliessen";
        StringBuilder text = new StringBuilder();
        text.Append("<script type='text/javascript'>");
        text.Append("function FensterSchliessen () {");
        text.Append("window.close();}</script>");
        ClientScript.RegisterStartupScript(java, key, text.ToString(), true);

führt der denn das script überhaupt aus, also wenn ichs nur registriere.. muss ichs nicht auch noch irgendwie aufrufen?

han Themenstarter:in
43 Beiträge seit 2006
vor 17 Jahren

ah, habs hinbekommen

wen es interessiert:


        String csname2 = "ButtonClickScript";
        Type cstype = this.GetType();

        ClientScriptManager cs = Page.ClientScript;

        if (!cs.IsStartupScriptRegistered(cstype, csname2))
        {
            StringBuilder cstext2 = new StringBuilder();
            cstext2.Append("<script type='text/javascript'>");
            cstext2.Append("window.close();</script>");
            cs.RegisterStartupScript(cstype, csname2, cstext2.ToString(), false);
        }