Ich habe eine kleine MVC-Website, die für einen Friseursalon ist. Auf dieser Seite habe ich ein div, das verwendet wird, um eine Nummer anzuzeigen, die es aus einem Datenbankeintrag nimmt. Diese Zahl ist die aktuelle Anzahl der Personen, die in der Warteschlange auf einen Haarschnitt warten.Automatischer Countdown-Timer zum Anpassen der Datenbankaufzeichnung
Was ich zur Zeit habe, ist die Möglichkeit, sich auf einer "admin" -Seite anzumelden und diese Nummer mit einem Formular zu aktualisieren, von "2" bis "5", dann "5" in "6" ändern, abhängig davon, wie viele Menschen sitzen in dieser Schlange.
Dies ist eine manuelle Operation, wie sie derzeit steht. Code ist unten:
=============================
-Controller
[HttpPost]
public ActionResult Update(Data data)
{
if (ModelState.IsValid)
{
data.ID = 1; //EF need to know which row to update in the database.
db.Entry(data).State = EntityState.Modified;
db.SaveChanges();
return RedirectToAction("Index", "Home");
}
return View(data);
}
= ===================================
Modellcode
{
public class Data
{
public int ID { get; set; }
public string Queue_Number { get; set; }
}
public class DataDBContext : DbContext
{
public DbSet<Data>Queue { get; set; }
}
}
Was ich würde wirklich gerne geschehen, wenn Sie die Queue-Nummer manuell aus dem for aktualisiert haben m auf der "admin" -Seite Ich möchte einen automatischen Countdown von 20 Minuten (die ungefähre Zeit, die für den Haarschnitt benötigt wird) und dann die Queue Number automatisch um eins herunterregeln, bis sie "0" erreicht.
z.B. Wir haben 5 Leute in der Warteschlange, 20 Minuten später ist es automatisch auf 4 Personen eingestellt und die Webseite wird automatisch aktualisiert/aktualisiert, dann kommen noch 2 Leute herein, so dass wir sie manuell auf 6 Personen in der Warteschlange einstellen und der Timer startet erneut , jede 20 min dauert die Warteschlange wird um -1 angepasst, bis es auf "0" geht. Sobald es auf "0" steht, bleibt es dort, bis wir manuell weitere Personen zur Warteschlange hinzufügen.
Ich habe Angst, ich habe keine Ahnung, wie man überhaupt mit einer solchen Anfrage beginnt, oder auch wenn es möglich ist?
Ich wäre wirklich dankbar für jede Hilfe von den Experten hier, die in der Lage sein könnten, es für mich zu "babstep". Alle Informationen, die ich nicht zur Verfügung gestellt habe Ich werde versuchen, hinzuzufügen - Ich weiß, ich bin nicht der beste zu erklären :-(
Dank Craig, ich habe Ajax nicht in Betracht gezogen, hauptsächlich weil ich gerade erst begonnen habe, MVC zu verwenden, und keinen coding Hintergrund habe, so würde nicht wirklich eine Ahnung haben, wo ich anfangen soll. Ich schätze die Antwort jedoch. Ich habe noch nicht darüber nachgedacht, wie ich das angehen sollte, ein Teil der Frage war, Ideen zu bekommen, was eine gute Idee wäre, um zu erreichen, was ich will. Ich speichere derzeit nur die Queue-Nummer in der Datenbank, sonst nichts. – Harry
@Harry Schauen Sie sich die Uhrzeit an und verwenden Sie dann jQuery und Ajax, um die Nummer ohne Aktualisierung zu aktualisieren. Es gibt eine Menge Dokumentation zu Ajax und Codebeispielen. Ich werde die Antwort aktualisieren, um Sie in Gang zu bringen. – CR41G14
Danke Craig, ich werde anfangen, Ajax zu erforschen. Ich schätze deine Hilfe, nochmals vielen Dank. – Harry