Question

J'ai une application Web que j'essaie d'optimiser.Certains contrôles sont masqués dans un style de boîte de dialogue DIVs.Donc, j'aimerais qu'ils soient chargés via AJAX uniquement lorsque l'utilisateur souhaite les voir.C'est bien pour les contrôles qui sont pour la plupart basés sur des valeurs littérales (divers menus et widgets), mais lorsque j'ai ce que j'appelle des contrôles « sales » - ceux qui écrivent des informations détaillées dans le ViewState, mettre des tonnes de CSS ou de script sur la page, nécessiter beaucoup de références, etc. - il est apparemment impossible de les déplacer "hors de la page", surtout si l'on considère la façon dont ASP.NET réagira à la publication.

J'envisageais une sorte d'étape où je remplacerais Render, trouverais des marqueurs pour les bits que je souhaitais déplacer et y placerais 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ôles. et leurs scripts requis.

Dans mon imagination enfiévrée, je veux faire ceci :

AJAXifier.AJAXify(ctlEditForm);

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

Dans quelle mesure puis-je vraiment me rapprocher d’une AJAXification simple et rapide sans causer trop de charge sur le serveur ?

Était-ce utile?

La solution

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

Autres conseils

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

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 que vous devez écrire est très petite.

Il existe un tas de bonnes bibliothèques JavaScript, celle-ci n'est que l'une d'entre elles que j'aime, et il est vraiment facile de démarrer.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 première étape consiste à créer des contrôles 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 le 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 s'appuie sur des variables globales laides, mais c'est un moyen rapide d'y parvenir.

Votre kilométrage peut varier.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top