Wie man einen countdown-timer in asp.net web-Anwendung(C#)?
Schaffe ich zeitlich online-test in C# asp.net. Erstellt habe ich es mit dem lokalen Maschine Zeit. Aber im Fall von Datenbank-Unterbrechung oder ein system hängen, Den countdown-timer beginnen müssen, aus der Zeit, in der die Maschine gehängt oder unerwarteten Datenbank Entnetzung. Zum Beispiel der Benutzer die Beantwortung der Fragen für 10 Minuten und unerwartet-system gehängt. Nach der Wiederherstellung der countdown muss von 10 Minuten. Kann bitte jemand mir helfen, mit der Codierung in C#?
Ich habe folgenden code, Aber es ist nicht sinnvoll, in den oben genannten Szenario.
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");
}
Siehe Dieser link
InformationsquelleAutor Prem | 2010-11-11
Du musst angemeldet sein, um einen Kommentar abzugeben.
Meiner Meinung nach ist die Verwendung von javascript für den countdown (embedded) und pass in der DB-Daten mit json, als die DB verursachen Unterbrechung passieren Sie einige Daten in javascript und mit einem Steuerelement, das Sie proced der countdown.
Laden Sie die folgende javascript-Datei und legen Sie Sie in Ihre web application Verzeichnis:
http://scripts.hashemian.com/js/countdown.js
Und als Sie etwas wie dies:
InformationsquelleAutor Andrea Turri
ich denke, es ist besser, nehmen Sie ein Feld in der Tabelle, und legen Sie die Gesamtzeit für die Frage, in es, und aktualisieren Sie dieses Feld auf jeden 15/30 Sekunden (wie pro Ihre Frequenz) und bei jedem update subtrahieren den Wert 15/30 zweite von insgesamt Zeit. und dies tun, bis das Feld hat den Wert > 0.
HIERFÜR können Sie die Hilfe von timer (javascript-timer) und ajax. auf Anfrage senden, um server zu aktualisieren, dass die Feld.
mit ajax, ich glaube, es ist besser zum erstellen eines webservice (das update Wert, Feld) und rufen Sie es mit ajax auf basis von javascript-timer. nun können Sie auch verwenden, ajax timer.
javascript-timer Referenz:
http://dotnetacademy.blogspot.com/2010/09/timer-in-javascript.html
InformationsquelleAutor Dr. Rajesh Rolen
Können Sie mithilfe der windows registery um den Zähler zu speichern.
InformationsquelleAutor Naresh Goradara