asp.net - Un moyen facile de AJAX WebControls

Translate

J'ai une application Web que j'essaie d'optimiser. Certains contrôles sont masqués dans le style de dialogueDIVs. Donc, j'aimerais qu'ils se chargent via AJAX uniquement lorsque l'utilisateur veut les voir. C'est bien pour les contrôles qui sont principalement basés sur des littéraux (divers menus et widgets), mais quand j'ai ce que j'appelle des contrôles "sales" - ceux qui écrivent des informations détaillées sur leViewState, mettez des tonnes de CSS ou de script sur la page, nécessitent beaucoup de références, etc. - il est apparemment impossible de les déplacer «hors de la page», surtout compte tenu de la façon dont ASP.NET réagira lors de la publication.

J'envisageais une sorte d'étape où je remplace Render, trouve des marqueurs pour les bits que je veux déplacer et y place des espaces réservés AJAX, mais non seulement la surcharge du serveur semble extrême, mais cela ressemble également à un hack complet. En outre, l'élément clé ici sont les boîtes de dialogue qui contiennent des formulaires avec des contrôles de validation, et je ne peux pas imaginer comment je déplacerais les contrôlesetleurs scripts requis.

Dans mon imagination fébrile, je veux faire ceci:

AJAXifier.AJAXify(ctlEditForm);

Malheureusement, je sais que c'est un rêve.

Dans quelle mesure puis-je vraiment arriver à une AJAXification rapide et facile sans causer trop de charge sur le serveur?

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

Toutes les réponses

Translate

VérifiezRadAjaxcontrôle de Telerik - il vous permet d'éviter d'utiliser UpdatePanels et de limiter la quantité d'informations échangées entre le serveur et le client en déclarant des relations directes entre les contrôles d'appel et les contrôles qui devraient être "Ajaxifiés" lorsque les contrôles appelants soumettent des publications.

La source
Translate

Je vous recommande de vous rendre à votre librairie locale ce week-end, de prendre une tasse de café et de trouver jQuery in Action de Manning Press. Allez-y et lisez le premier chapitre de ce livre de 300 pages dans le magasin, puis achetez-le s'il résonne avec vous.

Je pense que vous serez surpris par la facilité avec laquelle jQuery vous permet d'effectuer ce que vous décrivez ici. Des appels ajax au serveur en arrière-plan, à l'affichage et au masquage des balises div en fonction des actions du visiteur. La quantité de code à écrire est très petite.

Il existe un tas de bonnes bibliothèques JavaScript, c'est juste l'une d'entre elles que j'aime, et c'est vraiment facile de commencer. Commencez par inclure une référence au fichier jQuery actuel avec une balise, puis écrivez quelques lignes de code pour interagir avec votre page.

La source
Translate

La première étape consiste à créer des commandes utilisateur autonomes pour vos pièces "sales"

La deuxième étape consiste à intégrer ces contrôles sur votre page de consommation

La troisième étape consiste à envelopper chaque balise de contrôle utilisateur dans son propre Asp: UpdatePanel

La quatrième étape consiste à garantir que votre contrôle obtient les données dont il a besoin en les lisant à partir de propriétés qui vérifient par rapport à l'état d'affichage les valeurs préexistantes. Je sais que cela fait que votre code repose sur des variables globales laides, mais c'est un moyen rapide d'y parvenir.

Votre kilométrage peut varier.

La source