2010-09-21 4 views
2

J'ai lu plein de bonnes publications sur l'intégration de jQuery avec des formulaires Web ASP.NET pour utiliser les capacités d'accès aux données, mais je suis curieux de savoir à quel point il serait facile utiliser certaines fonctionnalités d'animation de jQuery avant une publication. Je peux penser à deux bons exemples:Utilisation de jQuery avec des formulaires Web ASP.NET en postback

1) Lorsque je clique sur un bouton asp:, j'anime une div, mais je fais une publication régulière quand l'animation est terminée (ou complète l'animation après la publication?).

2) Lorsque je clique sur un bouton de lien dans une vue de grille, j'éteins la ligne gridview en fondu, puis je fais la publication régulière dans l'événement onclick du bouton link.

Je ne suis pas au courant d'une solution à cela. Tout ce que j'ai essayé a soit exécuté la publication avant même que l'animation ne démarre, soit exécute l'animation, mais vous devez exécuter la publication en JavaScript (beurk).

+0

Je l'ai utilisé plusieurs fois jQuery pour cacher un bouton avant une publication si je ne suis pas le double problème de clic. Quel est exactement votre problème que vous avez besoin d'une solution à - ce n'est pas difficile. – Hogan

Répondre

4

Oui, bien sûr, vous pouvez le faire.

Disons, par exemple, nous prenons un bouton pour faire un peu postback,

<asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" /> 

Surclic événement - modifier la postback à traiter sur le côté serveur.

Mais si vous définissez également un événement OnClientClick et appelez une fonction JavaScript avec une valeur de retour à l'appel. Il décidera de la publication après l'exécution de la fonction JavaScript.

Par exemple,

<asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" OnClientClick="return DoJqueryAnimations();" /> 

Dans l'exemple ci-dessus - DoJQueryAnimations() est une fonction JavaScript. Nous l'appelons avec un "retour:". Ainsi, lorsque la fonction est appelée et décide quoi retourner, la publication attendra que la fonction client donne la valeur true (do postback)/false (no post back).

Dans la fonction JavaScript, vous réalisez l'animation et renvoyez true.

Par exemple:

function DoJqueryAnimations() 
{ 
    //Do some animations here or call other JavaScript function. 
    return true; 
} 
+0

J'ai effectivement essayé de faire exactement cela. Le problème est que l'animation jquery ne termine pas son action avant que la fonction javascript ne renvoie true et que la publication se produise. –

+0

bien essayé cela avec des animations coulissantes et vous êtes vrai. Je n'attendrai pas que l'animation se termine. Eh bien dans la plupart des fonctions animées, vous pouvez fournir une fonction de rappel dans la méthode où il appellera la fonction de rappel une fois l'animation terminée, vous pouvez l'utiliser judicieusement pour compléter votre objectif >> voici un exemple >>> http: // api.jquery.com/slideUp/#speedcallback où il utilise la durée comme premier argument et la fonction "callback" comme deuxième argument pour faire quelque chose après que l'animation soit terminée. J'espère que cela vous aidera à résoudre votre problème – Jsinh

Questions connexes