Comment faire un compte à rebours dans asp.net application web(C#)?
Je suis entrain de créer chronométré en ligne de test en C# asp.net. J'ai créé à l'aide de la machine locale en temps. Mais dans le cas de la Base de données de déconnexion ou de blocage système, Le compte à rebours doit commencer à partir du moment où la machine a pendu ou inattendu de la base de données disconnectivity. Par exemple à l'utilisateur de répondre aux Questions de 10 minutes et de façon inattendue système de pendu. Après la récupération, le compte à rebours doit commencer à partir de 10 minutes. Quelqu'un peut-il m'aider avec le codage en C#?
J'ai utilisé le code suivant, Mais ce n'est pas utile dans le scénario ci-dessus.
int totalTime = (Convert.ToInt32(ViewState["totaltime"])) * 60;
DateTime startTime = (DateTime)ViewState["startTime"];
TimeSpan elaspedTime = DateTime.Now.Subtract(startTime);
Literal1.Text = elaspedTime.Hours.ToString() + "h" + ":" + elaspedTime.Minutes.ToString() +
"m" + ":" + elaspedTime.Seconds.ToString() + "s";
int finish = Convert.ToInt32(elaspedTime.TotalSeconds);
int remaingsec = (totalTime - finish);
TimeSpan remainingtime = TimeSpan.FromSeconds(remaingsec);
string answer = string.Format("{0:D2}h:{1:D2}m:{2:D2}s",
remainingtime.Hours,
remainingtime.Minutes,
remainingtime.Seconds,
remainingtime.Milliseconds);
LIteral2.Text = answer;
if (totalTime == finish)
{
lnkFinish_Click(sender, e);
Response.Redirect(@"~/Error.aspx");
}
- Reportez-vous à Ceci lien
Vous devez vous connecter pour publier un commentaire.
Mon avis est d'utiliser le javascript pour le compte à rebours (incorporés en tant que bien) et de passer votre DB de données json, lors de la DB cause de déconnexion vous transmettre certaines données à javascript et avec un contrôle, vous procèdent à le compte à rebours.
Téléchargez le fichier javascript et mettre dans le répertoire de votre application web:
http://scripts.hashemian.com/js/countdown.js
Et d'utiliser quelque chose comme ceci:
je pense que c'est mieux de prendre un champ dans une table et définir le temps total pour la question en elle et la mise à jour de champ sur toutes les 15/30 secondes (selon la fréquence requise) et à chaque mise à jour, il suffit de soustraire la valeur de 15/30 secondes de temps total. et cela jusqu'au champ a une valeur > 0.
pour cela, vous pouvez prendre l'aide de la minuterie (timer javascript) et ajax. pour envoyer une requête au serveur pour mettre à jour ce champ.
avec ajax je pense qu'il est préférable de créer un webservice (qui sera mise à jour de la valeur de ce champ) et de l'appeler à l'aide d'ajax sur la base de javascript timer. eh bien, vous pouvez également utiliser ajax minuterie.
javascript minuterie référence:
http://dotnetacademy.blogspot.com/2010/09/timer-in-javascript.html
Vous pouvez utiliser windows base de registre pour stocker le compteur.