Ich arbeite in einer ASP.NET MVC-Anwendung. Ich habe eine JQuery UI-Registerkarte, deren JavaScript zum Aktivieren des Caching wie folgt ist.
%Vor%Ich habe drei Registerkartenelemente erstellt, die eine Liste verwenden, z. B. tab1, tab2, tab3.
Nun passiert es, wenn die Registerkarte konfiguriert ist, dass sie die Cache-Funktion für alle Registerkartenelemente aktiviert. Aber wie kann ich die Zwischenspeicherung für diese Registerkartenelemente individuell einstellen? Say (tab1 cache, tab2 no cache, tab3 cache) Ich kann nur eine Möglichkeit sehen, Caching auf die gesamte Registerkarte anzuwenden, anstatt das Caching auf einzelne Tab-Elemente nach Bedarf anzuwenden.
Außerdem muss ich die Zwischenspeicherung für diese Registerkartenelemente (Tab1, Tab2, Tab3) dynamisch aktivieren oder deaktivieren. Wie kann ich das erreichen? jede Hilfe würde geschätzt werden?
Ich hatte kürzlich auch einen Nutzen dafür. Wenn Sie in den Code schauen, werden "cache.tabs" mit $ .data verwendet, um zu bestimmen, ob ein Tab zwischengespeichert werden soll. Sie müssen also nur das Element greifen und $.data(a, "cache.tabs", false);
Ich habe eine schnelle Erweiterung erstellt, um genau das zu tun, vorausgesetzt, die Registerkarten sind statisch. Es kann unvorhergesehene Probleme geben, und kann sicherlich verbessert werden.
%Vor% Wie Sie sehen können, weise ich die alte load
-Methode _load25624
zu, nur einen zufälligen Namen, behalte sie als Mitglied des Objekts und rufe sie in der neuen load
-Methode auf, nachdem ich festgestellt habe, ob die Registerkarte vorhanden ist sollte zwischengespeichert werden. Verwendung:
Schaltet den Cache für den gesamten Satz von Elementen ein und deaktiviert den Cache nur für das erste Element (Index 0).
Um Erics Analyse zu vereinfachen, können Sie das Zwischenspeichern jeder Registerkarte steuern, indem Sie die Daten "cache.tabs" im Ankerelement jeder Registerkarte festlegen.
%Vor% Nachdem der Inhalt der Registerkarte zum ersten Mal geladen wurde, können Sie das Zwischenspeichern für diese Registerkarte aktivieren. Ich würde es einfach in $(document).ready
setzen:
Danke, Eric!
Tags und Links jquery user-interface caching tabs