0 votes

Ajax Toolkit Client Rendering

Je travaille sur un long formulaire dynamique (une centaine de champs) et j'utilise des éléments de la boîte à outils tels que CalendarBehaviors, HovermenuBehavior, etc. pour chaque champ.

Je n'ai jamais travaillé avec autant d'éléments de la boîte à outils en même temps, et je constate une baisse importante des performances lors du rendu. Chaque instance d'un contrôle de la boîte à outils est envoyée au client dans son propre fichier <SCRIPT></SCRIPT> tags. En d'autres termes, 200 occurrences de ce qui suit :

<SCRIPT type="text/javascript"> 
Sys.Application.add_init(function() {    $create(AjaxControlToolkit.HoverMenuBehavior, {"OffsetX":20,"PopDelay":50,"dynamicServicePath":"/default.aspx","id":"hmePopupHelpPolicyNumber","popupElement":$get("lblHelpPolicyNumber")}, null, null, $get("imgHelpPolicyNumber"));});
</SCRIPT>
<SCRIPT type="text/javascript"> 
...snip
</SCRIPT>

Existe-t-il un moyen de contrôler cela et de créer tous les contrôles dans un seul bloc script ?

Par ailleurs, quelqu'un connaît-il un bon article détaillé qui décrirait comment IE 7 analyse et rend le html et le javascript ?

Et je sais que la plupart d'entre vous recommanderont plutôt JQuery. Malheureusement, ce n'est pas une option dans ce projet.

Merci d'avance et bon codage.

1voto

Achilles Points 5377

Je dirais qu'il faut revoir la conception de la page. Autant d'éléments sur votre page ne peuvent pas constituer une bonne expérience pour l'utilisateur. Au lieu de coder une solution très éloignée, reconsidérez votre conception et cela sera probablement bénéfique pour l'utilisateur à la fin.

Editer : Votre question est au cœur de ce que beaucoup considèrent comme le principal inconvénient de l'utilisation des WebForms. Il y a peu de contrôle sur la façon dont le serveur rend les contrôles et émet leur HTML. Sans une approche plus "avancée" que vous essayez d'éviter, j'aurais du mal à vous suggérer autre chose que de diviser le formulaire en plus petits morceaux. S'il s'agit d'un formulaire de saisie de données, il peut être plus rapide pour l'utilisateur de saisir les champs de date plutôt que de remplir le formulaire par des clics de souris.

0voto

jrummell Points 23718

Pour aller dans le sens de la réponse de @Achilles, je diviserais le formulaire en plusieurs pages. Vous pouvez également essayer une page avec plusieurs onglets.

U Un autre outil qui pourrait vous aider est le ToolkitScriptManager . Il combine tous les scripts externes de la boîte à outils en un seul scripts externe. Je pense qu'il combine également tous les scripts de la boîte à outils en ligne en un seul bloc.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X