2009-06-18 14 views
1

Ich möchte eine Seite haben, die nach Updates für eine Datenbanktabelle sucht und das Raster mit einem Ajax-Aufruf aktualisiert. Wenn eine neue Zeile in die Tabelle eingefügt wird, erscheint ein Meldungsfenster.ASP.NET MVC Ajax

Diese Datenbanktabelle wird etwa alle 15 Minuten mit neuen Zeilen aktualisiert, und das Nachrichtenfenster informiert den Benutzer darüber, dass ein neuer Datensatz hinzugefügt wurde oder möglicherweise mehr als ein Datensatz.

Ich möchte dies in ASP.NET MVC mit Ajax tun, aber habe keine Ahnung, wie man das Javascript für die Suche nach Updates auf einem Timer oder wenn eine Flagge, die der XHR verwendet, um eine Änderung anzuzeigen im Staat.

Antwort

1

Dies könnte eine Möglichkeit sein, es zu tun:

  1. Speichern Sie die Zeit, wenn die Daten in einer globalen Variablen in JavaScript aquired wird.

  2. Alle x Minuten führen Sie einen JavaScript-Aufruf einer Aktionsmethode mit dem Zeitstempel als Parameter aus. Dies kann zum Beispiel unter Verwendung der jQuery Timer, wie von Rony vorgeschlagen, erfolgen.

  3. Die Aktionsmethode überprüft die Datenbank, um festzustellen, ob sich etwas geändert hat oder nicht, und gibt einen einfachen booleschen Wert 1/0 zurück.

  4. Wenn und nur wenn sich die Daten geändert haben, erhalten Sie die neuen Daten von einer anderen Aktionsmethode und benachrichtigen den Benutzer, dass neue Daten abgerufen wurden.

+0

Ich werde das ausprobieren. Vielen Dank. – kntcnrg

0

können Sie jQuery timers verwenden Sie den Zustand der Datenbank mit Ajax und dann ändern Sie die Werte in der Tabelle

3

Sie sollten PokeIn Bibliothek versuchen accordinly zu überprüfen. Es hilft Ihnen, verbundene Clients basierend auf serverseitigen Ereignissen zu benachrichtigen. Hier ist ein grundlegendes Szenario;

Ein einzelner statischer Timer läuft auf der Serverseite und prüft alle Änderungen an der DB. Wenn ein Update verfügbar ist sendet sie an die angeschlossenen Clients/verknüpften Gruppen usw.

Muster sind verfügbar from