Hinweis: Ich verwende das Infragistics-Steuerelement, weil dies vererbten Legacy-Code ist, aber ich bin nicht oben mit einem ASP.NET-Steuerelement neu zu schreiben, wenn das eine bessere Lösung ist.Rendering mehrere Kalender Blähungen html, moogs down page
Ich habe ein Repeater-Steuerelement, das einen Infragistics WebDateChooser verwendet, um ein Datum für einen Datensatz auszuwählen. Angenommen, jeder Eintrag im Repeater stellt einen Kunden dar, und ich wähle ein Aktivierungsdatum oder etwas in dieser Art aus. Es könnte jederzeit Vergangenheit, Gegenwart oder Zukunft sein.
Wenn Sie dieses Steuerelement 20 Mal rendern, schreibt es alle die schweren HTML für die Anzeige aller Termine (Monatsnamen, Wochentage, etc etc) 20 Mal und bläht den HTML-Code dramatisch. Dies führt dazu, dass der Browser wirklich mit dem Rendern der Seite in einer vernünftigen Zeitspanne, selbst für 20 Datensätze, Schwierigkeiten hat (Paging implementiert auf dem Repeater nur um zu verhindern, dass der Browser auf einer massiven Seite abstürzt). Dies gilt auch für einen geringeren (aber immer noch signifikanten) Grad mit der Standard-ASP.NET-Kalendersteuerung.
Was ich suche ist eine Möglichkeit, möglicherweise alle 20 Datumswähler die Ressourcen von 1 Kalender teilen, so dass sie nicht müssen ihre eigenen Strings und Mist für die Anzeige von ausführlichen Daten zu rendern.
EDIT: Ich verstehe viele Benutzer haben Infragistics nicht verwendet, aber es ist immer noch genauso wahr mit dem Standard, gebaut in ASP: Kalender-Steuerelement. Setzen Sie einen in einen Repeater und zeigen Sie n> 20 mal an. Es bugs den Browser beim Rendern.
Um zu verdeutlichen, dass dies für eine mögliche Lösung von Bedeutung ist, ist diese Codebasis auf .NET 2.0 und muss IE6 unterstützen.
+1 So würde ich es auch wenn möglich angehen. Wenn die Server-Steuerelemente die Instanzfreigabe nicht spezifisch über die Konfiguration unterstützen (keine Ahnung, ob Infragistics dies tut, aber ich habe andere gesehen, die das tun), senden sie immer doppelten Code/Markup, wenn sie wiederholt werden. –
Ja, ich werde wahrscheinlich am Ende diese Route oder etwas ähnliches gehen. Was ist die richtige Etikette bei der Vergabe von Bounty, wenn mehrere Leute im Wesentlichen dasselbe sagen? –
+1 Etikette = ... erster mit der Lösung gewinnt! Ich stimme diesem Konzept zu. Rollen Sie Ihre Sleves auf und machen Sie sich die Hände schmutzig, indem Sie ein wenig benutzerdefinierten Code schreiben, der an einer Stelle gespeichert und 20 mal oder öfter aufgerufen wird. Am effizientesten, um solche Dinge zu tun. –