Einfachste Weg, um einen clientseitige JavaScript-Array Variable während eines ASP.NET AJAX Postback in einem Update zu aktualisieren?
-
01-07-2019 - |
Frage
Wenn ich eine global scoped Array-Variablen in eine Seite der clientseitige Javascript während eines vollen Seite Postbacks injizieren will, kann ich verwenden:
this.Page.ClientScript.RegisterArrayDeclaration("WorkCalendar", "\"" + date.ToShortDateString() + "\"");
erklären und ein clientseitige JavaScript-Array auf der Seite zu füllen. Schön und einfach.
Aber ich will von einem Update das gleiche von einem Asynchron-Postbacks tun.
Der nächstgelegene ich bisher herausfinden kann ist eine Js-Datei zu erstellen, die nur die var Deklaration enthält, aktualisieren Sie die Datei während der Asynchron-Postbacks und dann eine ScriptManagerProxy.Scripts.Add
verwenden Sie die JS-Datei auf den globalen Bereich der Seite hinzuzufügen.
Gibt es etwas einfacher? r iz doin es falsch?
Lösung
Sie können auch ein verstecktes Label innerhalb des Update-Panel aktualisieren, die Ihnen passender Programme zu schreiben, ermöglicht javascript Sie mögen. Ich würde vorschlagen, wenn Web-Service oder auch Seite Methoden, um die Daten, die Sie stattdessen Panels mit update müssen holen.
Beispiel: myLabel.Text = "...."; ... setzen Sie Ihre Logik in diesem oder können Sie hinzufügen [WebMethod] zu einer öffentlichen statischen Seite Methode und geben Daten direkt an.
Andere Tipps
Mit der statischen Methode System.Web.UI.ScriptManager.AddStartupScript ()
Das Skript für alle Voll- und Teilpostbacks ausgeführt wird.
Sam ist richtig. ScriptManager.RegisterStartupScript ist der richtige Name der Funktion. Es läuft auf alle Voll- und Teil Seite Updates.