Question

Je veux fermer une fenêtre ShadowBox lorsque l'utilisateur clique sur un bouton. La fenêtre contextuelle affiche une page séparée dans une iframe. Cela fonctionne très bien avec un événement clients côté sur le contrôle bouton Annuler, par exemple.

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

Le bouton Ok, cependant, a un événement côté serveur, car les données doivent être sauvegardées. Lorsque je définis à la fois un Surclic et le gestionnaire OnClientClick de dessus, le IFrame est fermé et l'événement côté serveur gestionnaire ne se déclenche jamais.

J'ai essayé de supprimer le gestionnaire d'événements OnClientClick du balisage et d'utiliser le ClientScriptManager pour ce faire, comme dans

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

Apparemment, parce que les boutons sont dans un UpdatePanel, le script ne soit pas enregistré, et il ne semble pas dans le flux de Reponse. Le IPanel reste ouvert.

Comment puis-je faire?

Était-ce utile?

La solution

Lorsque vous utilisez les commandes MS AJAX, vous devez enregistrer vos scripts avec le ScriptManager, pas ClientScript.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top