2008-11-06 3 views
0

J'ai un formulaire Web qui a plusieurs ListBoxes, TextBoxes, DropDowns. Si je mets un UpdatePanel autour de la page entière, j'ai remarqué que la page est plus lente. Est-ce parce que, chaque contrôle est mis à jour? Si je mets différents UpdatePanels autour de chaque contrôle, j'ai remarqué que la page a une meilleure réponse. Est-ce correct de supposer que c'est parce que j'ai plus de contrôle sur quelles parties de la page sont mises à jour en fonction des sélections de ListBoxes et DropDowns par exemple?Vaut-il mieux avoir un UpdatePanel autour de plusieurs contrôles ou des UpdatePanels séparés?

Merci,

X

+0

Cela semble être un double de: http://stackoverflow.com/questions/72541/one-update-panel-vs-multiple-update-panels –

Répondre

6

chaque panneau de mise à jour génère un aller-retour au serveur (je suppose que vous utilisez une minuterie ou quelque chose pour provoquer ce)

la règle générale serait pour regrouper des contrôles dans un panneau de mise à jour que doit doit changer ensemble, sinon des panneaux de mise à jour distincts ont plus de sens

+0

Je +1 cela, mais je suis Sur les votes pour la journée, Steven a raison. – cfeduke

+0

J'ai un UpdatePanel autour de tout, mais je les ai regroupés en mettant le mode UpdateMode à conditionnel et en définissant des triggers. UpdatePanels semble être une vraie douleur. – Xaisoft

+0

Je suis d'accord avec cela et je voulais juste ajouter que, avec ASP.NET AJAX, vous pouvez également spécifier des contrôles à déclencher pour un panneau de mise à jour qui n'est pas dans le panneau de mise à jour lui-même. De cette façon, vous pouvez avoir une liste déroulante ailleurs sur la page qui déclenchera la mise à jour sans être dans le panneau. –

0

J'utilise des panneaux de mise à jour avec un ensemble de fonctions connexes à l'esprit. Je trouve que pour mes applications quand il y a des éléments de contenu connexes sur une page, comme un outil de recherche, il est préférable d'être placé dans son propre panneau de mise à jour. Attention toutefois à mettre trop de panneaux de mise à jour sur votre page car le client devra télécharger plus de code pour le faire fonctionner.

Une règle que j'utilise est de mettre le mode de mise à jour de tous les panneaux à feu seulement lorsque les enfants sont modifiés, et dans certains cas, il est préférable de le faire par programmation dans votre code derrière. C'est mieux dans les cas où vous avez une section d'éléments dans un autre panneau de mise à jour, mais les deux n'ont pas besoin d'être mis à jour ou le parent a seulement besoin d'être mis à jour à l'occasion. En déclenchant les panneaux dans votre code, vous créerez un peu plus de travail pour vous, mais au final, vous aurez également beaucoup plus de contrôle sur l'expérience de l'utilisateur, ce qui peut vous aider à envoyer moins de bits dans le tube.

Andrew

Questions connexes