Also habe ich eine gemischte Situation hier und ich dachte, ich wäre auf dem richtigen Weg, aber es scheint nicht zu funktionieren.Problem mit UpdatePanel in einer ASP.NET WebForms-Lösung
Also hier ist, was ich will .....
Ich habe eine Webseite, die eine Karte einen Punkt plotten verwendet. Ich möchte nicht in das eingreifen, was der Benutzer tut, aber ich möchte die Datenbank regelmäßig überprüfen, um festzustellen, ob die Punkte aktualisiert werden müssen. Keine Notwendigkeit = einfach den Timer starten. Have Update = Auto Löst das Click-Ereignis einer "Refresh" -Schaltfläche aus, auf die der Benutzer manuell klicken kann. Hier
ist der Weg Ich war \ versucht bin ....
So habe ich das UI arbeiten wie ich will. Ich habe ein Update-Panel, das einen Javascript-Countdown-Timer enthält. Wenn der Timer abgelaufen ist, löst er das "Click" -Ereignis einer versteckten Schaltfläche aus. Der Code-Behind überprüft die Datenbank.
Wenn es keine Aktualisierung in der Datenbank gibt, gibt es nichts zu tun, damit der Callback zum Update-Panel zurückkehrt und der Timer von vorne beginnt.
Hier ist, was nicht funktioniert ....
Wenn es ein Update, mein Code hinter ruft dann die nötige Routine, die alles auf der Seite nachvollzieht (z umbaut die Karte und so weiter). Das Problem ist, dass obwohl der Code tatsächlich ausgeführt wird, die Seite nicht neu geladen wird.
Ich nehme an, es liegt daran, dass der gesamte UpdatePanel-Workflow alle Seitenaktualisierungen ignoriert, die sich auf Objekte auswirken, die sich NICHT im Aktualisierungsbereich befinden.
Ich würde Code eingeben, aber es gibt wirklich keine. Grundsätzlich auf meinem Formular habe ich meine Seite mit ein paar Sachen. Auf dieser Seite befindet sich ein UpdatePanel, das ein JavaScript und eine Beschriftung enthält (um den Countdown des Timers für den Benutzer anzuzeigen).
Im Code_Behind für meine versteckte Taste (das durch die JavaScript genannt wird), ist es einfacher Code wie .....
if (PageNeedsToBeUpdated() == true)
{
BuildPage();
}
Also, wenn die Aussage falsch ist ... alles funktioniert. Aber wenn es wahr ist, muss ich die gesamte Seite neu laden.
Danke .... und wenn ich das total falsch mache, bin ich total bereit, in eine andere Richtung zu gehen.
Wie fügt man autopostback = true für den Backend-Code hinzu, der die Seite aktualisiert. – NepCoder