2009-12-09 2 views
1

J'ai besoin d'un morceau de javascript à exécuter à chaque publication. Eh bien, en fait plusieurs pièces. Cela doit être fait à l'intérieur d'un contrôle personnalisé, de sorte que le code javascript qui doit être exécuté peut être utilisé beaucoup de fois.Le meilleur moyen d'attraper une publication en JavaScript?

Je l'ai actuellement pour que le contrôle personnalisé crée une chaîne de "substitutions" pour la fonction __onPostBack. Je pense que c'est assez désordonné et ça ne gère pas les postbacks réguliers causés par les boutons.

tl; dr: Quelle est la meilleure façon d'exécuter un morceau de code javascript lors d'une publication? (qui est, exécutez le code avant que le postback frappe le serveur)

(également, dans le but pour IE 7+ et la compatibilité Firefox)

Répondre

2

Vous pouvez définir l'événement onSubmit sur le formulaire:

ClientScript.RegisterOnSubmitStatement(this.GetType(), "MyScript", "alert('Hello')"); 

Ancien et nouveau chemin est décrit ici: http://weblogs.asp.net/vga/archive/2004/03/01/NoMoreHijackingOfDoPostBackInWhidbey.aspx

+0

Et la nouvelle façon (réglage de sous-menu, décrit en dernier dans la publication) devrait également être compatible avec les contrôles personnalisés et les boutons. – asgerhallas

+0

Wow, je pensais que le bit RegisterSubmit ne fonctionnait pas pour AJAX .. Je suppose que Microsoft n'est pas trop mal après tout! – Earlz

Questions connexes