2009-09-28 7 views
0

Je dois créer quelque chose comme une minuterie de verrouillage (une petite chose qui met juste à jour un temps de verrouillage dans une base de données). Je pensais que le contrôle Timer répondait à mes besoins, mais chaque fois que le contrôle Timer provoque un retour partiel, le texte récemment tapé dans une zone de texte peut disparaître (entre le début et la fin) et il perd le focus.Problèmes de zone de texte et de mise au point avec les commandes Timer (asp.net)

Parce que c'est seulement une minuterie de verrouillage, je n'ai pas besoin de rafraîchir une partie de l'écran, je dois simplement dire au serveur "hey, ne pas libérer mon verrou, je suis toujours sur cette page" . Un contrôle Timer est-il même nécessaire? Existe-t-il un moyen plus simple de faire ceci est le javascript pur? La seule chose que je dois savoir est un identifiant, qui peut être gardé comme un champ caché (et donc accessible à partir de javascript par DOM)

quiconque a des informations sur la façon de régler le contrôle de la minuterie ou une façon rapide de faire javascript il?

modifier: aussi, j'ai l'UpdatePanel qui contient le contrôle de la minuterie en dehors du panneau de mise à jour contenant le contrôle TextBox

Répondre

0

Si je comprends bien, vous avez besoin d'une méthode qui mettra à jour la datetime dans la base de données périodique intervalles.

Pour cela, vous pouvez simplement utiliser Ajax. Window.setInterval est une fonction JavaScript qui lancera un morceau de code à intervalles réguliers.

window.setInterval(foo,5000); 

Le code ci-dessus déclenche la méthode foo toutes les 5 secondes.

La seule chose que vous devez rechercher est de savoir comment appeler la base de données. Puisque vous utilisez déjà MS Ajax, je vous suggère de vérifier le contrôle ScriptManager qui contient une section pour les services. Consultez le post suivant, qui se compose d'un simple exemple de la façon d'appeler des méthodes WebService en utilisant MS Ajax:

http://azamsharp.com/Posts/83_Using_FireBug_Profiler_to_Dig_Deep_into_MS_AJAX_and_JQuery_API.aspx

+0

est-il pas moyen plus facile que la création d'un service Web? – Earlz

+0

Eh bien, vous pouvez toujours appeler PageMethods. Vous devrez décorer les méthodes de page avec l'attribut [WebMethod]. – azamsharp

Questions connexes