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?
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.
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?
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);
}