Frage

Ich möchte ein ShadowBox Popup schließen, wenn der Benutzer auf eine Schaltfläche klickt. Das Popup zeigt eine separate Seite in einem Iframe. Dies funktioniert gut mit einem Kunden-Side-Event auf der Schaltfläche Steuerung abbrechen, z.

OnClientClick="javascript:parent.Shadowbox.close();"

Die Schaltfläche OK hat jedoch ein serverseitige Ereignis, da die Daten gespeichert werden muss. Wenn ich von oben sowohl eine OnClick und die OnClientClick Handler definieren, wird das IFrame geschlossen und der serverseitigen Ereignishandler nie ausgelöst.

Ich habe versucht, die OnClientClick Event-Handler aus dem Markup zu entfernen und die ClientScriptManager zu verwenden, um dies zu erreichen, wie in

Page.ClientScript.RegisterStartupScript(this.GetType(),
  "Close", "parent.Shadowbox.close();", true);

Offenbar, weil die Tasten in einem Update sind, wird das Skript nicht registriert werden, und es scheint nicht in dem Reponse Strom. Die IPanel bleibt offen.

Wie kann ich das tun?

War es hilfreich?

Lösung

Wenn Sie den MS AJAX-Steuerelemente verwenden, müssen Sie Ihre Skripte mit dem ScriptManager registrieren, nicht ClientScript.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top