Frage:
Es gibt eine Steuerung im Webformular. Am besten ist es, wenn diese Steuerung in Echtzeit auf die Datenbank zugreift. Sobald Änderungen in der Datenbank vorliegen, werden die Daten an den Client übermittelt und die neuesten Daten angezeigt.
analysieren:
Da der Client aktualisiert werden muss, muss die Front-End-Uhrfunktion von js verwendet werden. Der Server hat sich geändert und der Client muss aktualisiert werden, um die Daten zu aktualisieren, oder die Seite fälschlicherweise aktualisieren Das heißt, der Client sieht grundsätzlich keine Aktualisierung.
Lösung: (Bitte korrigieren Sie mich, wenn es Fehler gibt, mein Niveau ist begrenzt, danke)
Es gibt zwei Hauptlösungen: Echtzeit und Abfrage
Echtzeit: Trigger durch Hinzufügen eines Triggers in der Datenbank und anschließendes Schreiben einer Datei auf dem Server, die als Semaphor verwendet wird. Ich denke, dass diese Technologie für dieses Problem zu kompliziert ist, daher habe ich sie nicht weiter studiert. Interessierte Freunde können sie sich auf MSDN ansehen, aber sie kann tatsächlich Daten in Echtzeit aktualisieren, was für Echtzeit am effektivsten ist Gespräche.
Abfrage: 1. Verwenden Sie die xmlhttp-Methode ohne Aktualisierung. Zu dieser Methode können Sie den von anderen geschriebenen Artikel lesen, der eine detaillierte Einführung enthält. Nach dem Testen habe ich jedoch festgestellt, dass der HTML-Code der gesamten Seite abgerufen wird Holen Sie sich den benötigten Steuerinhalt und wiederholen Sie ihn. Die Konfiguration ist immer noch zu kompliziert und nicht unbedingt effizient.
2. Verwenden Sie zum Vervollständigen das HTML-Framework. Dies ist die Methode, die ich hauptsächlich schreibe. Diese Methode ist meiner Meinung nach sehr nützlich für Situationen, in denen nur kleine Daten dynamisch angezeigt werden.
Detaillierte Einführung: Schreiben Sie iframe src="../test/WebForm2.aspx" an die Stelle, an der der HTML-Code aktualisiert werden muss. Src ist die zu verbindende Seite und passt dann die Größe des Rahmens und der Bildlaufleisten nach Bedarf an.
Erstellen Sie eine neue Seite WebForm2.aspx als gerahmte Verbindungsseite. Fügen Sie die Steuerelemente, die in Echtzeit aktualisiert werden müssen, auf dieser Seite und dann im Page_Load-Ereignis ein
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Behandelt MyBase.Load
„Platzieren Sie hier den Code zum Abrufen von Datenbankaktualisierungen und verknüpfen Sie ihn mit dem Steuerelement „End Sub“.
Fügen Sie dann meta HTTP-EQUIV="Refresh" content="1" URL="/test/WebForm2.aspx" zum HTML hinzu
Dies bedeutet, dass diese Seite automatisch alle 1 Sekunde aktualisiert wird (Sie können je nach tatsächlicher Situation auch eine Vordergrunduhr wie window.setInterval (Funktion, 1000) hinzufügen), sodass das Ergebnis nach dem Start der ersten Seite abgeschlossen ist , wird die zweite Seite nicht unterbrochen, sie wird nach einer Weile aktualisiert, aber der Client hat das gleiche Gefühl, als ob sie nicht aktualisiert wäre.