asp.net - Einfacher Weg zu AJAX WebControls

Translate

Ich habe eine Webanwendung, die ich optimieren möchte. Einige der Steuerelemente sind im Dialogstil ausgeblendetDIVs. Daher möchte ich, dass sie nur dann über AJAX geladen werden, wenn der Benutzer sie sehen möchte. Dies ist in Ordnung für Steuerelemente, die größtenteils auf Literalen basieren (verschiedene Menüs und Widgets), aber wenn ich so genannte "schmutzige" Steuerelemente habe - solche, die umfangreiche Informationen in das Steuerelement schreibenViewState, setzen Sie Tonnen von CSS oder Skripten auf die Seite, benötigen Sie viele Verweise usw. - diese sind anscheinend unmöglich "aus der Seite" zu verschieben, insbesondere wenn man bedenkt, wie ASP.NET auf Postback reagiert.

Ich habe über einen Schritt nachgedacht, bei dem ich Render überschreibe, Markierungen für die Bits finde, die ich verschieben möchte, und AJAX-Platzhalter dort eingefügt habe, aber der Server-Overhead scheint nicht nur extrem zu sein, es fühlt sich auch wie ein kompletter Hack an. Außerdem sind das Schlüsselelement hier die Dialogfelder, die Formulare mit Validierungssteuerelementen enthalten, und ich kann mir nicht vorstellen, wie ich die Steuerelemente verschieben würdeundihre erforderlichen Skripte.

In meiner fieberhaften Vorstellung möchte ich Folgendes tun:

AJAXifier.AJAXify(ctlEditForm);

Leider weiß ich, dass dies ein Traum ist.

Wie nah kann ich einer schnellen und einfachen AJAXification wirklich kommen, ohne den Server zu stark zu belasten?

This question and all comments follow the "Attribution Required."

Alle Antworten

Translate

Probier das ausRadAjaxSteuerung von Telerik - Sie können die Verwendung von UpdatePanels vermeiden und die Menge an Informationen begrenzen, die zwischen Server und Client hin und her übertragen werden, indem Sie direkte Beziehungen zwischen aufrufenden Steuerelementen und Steuerelementen deklarieren, die "Ajaxified" sein sollten, wenn die aufrufenden Steuerelemente Postbacks senden.

Quelle
Translate

Ich empfehle Ihnen, an diesem Wochenende zu Ihrem örtlichen Buchladen zu gehen, eine Tasse Kaffee zu trinken und jQuery in Action von Manning Press zu finden. Lesen Sie das erste Kapitel dieses 300-seitigen Buches im Laden und kaufen Sie es, wenn es bei Ihnen ankommt.

Ich denke, Sie werden überrascht sein, wie einfach Sie mit jQuery das ausführen können, was Sie hier beschreiben. Von Ajax-Aufrufen an den Server im Hintergrund bis zum Ein- und Ausblenden von Div-Tags basierend auf den Aktionen des Besuchers. Die Menge an Code, die Sie schreiben müssen, ist sehr gering.

Es gibt eine Reihe guter JavaScript-Bibliotheken, dies ist nur eine davon, die mir gefällt, und der Einstieg ist wirklich einfach. Fügen Sie zunächst einen Verweis auf die aktuelle jQuery-Datei mit einem Tag hinzu und schreiben Sie dann einige Codezeilen, um mit Ihrer Seite zu interagieren.

Quelle
Translate

Schritt eins ist, Ihre "schmutzigen" Teile in sich geschlossene Benutzersteuerelemente zu machen

Schritt zwei besteht darin, diese Steuerelemente in Ihre konsumierende Seite einzubetten

Schritt drei besteht darin, jedes Benutzersteuerungs-Tag in ein eigenes Asp: UpdatePanel zu verpacken

Schritt vier besteht darin, sicherzustellen, dass Ihr Steuerelement die benötigten Daten erhält, indem es aus Eigenschaften gelesen wird, die anhand des Ansichtsstatus auf bereits vorhandene Werte prüfen. Ich weiß, dass Ihr Code dadurch auf hässliche globale Variablen angewiesen ist, aber es ist ein schneller Weg, dies zu erreichen.

Ihr Kilometerstand kann variieren.

Quelle