2008-08-22 28 views
20

Tenemos una página con un montón de jQuery (aproximadamente 2000 líneas) que queremos recortar b/c es una pesadilla de mantenimiento, y puede ser más fácil de mantener en el servidor. Pensamos en usar UpdatePanel para esto. Sin embargo, no nos gusta el hecho de que UpdatePanel está enviando toda la página al servidor.jQuery AJAX vs. UpdatePanel

Respuesta

40

No se mueva a UpdatePanels. Después de venir de jQuery, the drop in performance sería insostenible. Especialmente en una página tan compleja como suena.

Si tiene 2.000 líneas de código JavaScript, la solución es refactorizar ese código. Si coloca 2.000 líneas de código C# en un archivo, también sería difícil mantenerlas. Eso sería difícil de manejar de manera efectiva con cualquier lenguaje o herramienta.

Si está utilizando 3.5 SP1, puede utilizar la nueva secuencia de comandos de ScriptManager combinando para separar su JavaScript en varios archivos sin penalización. De esta forma, puede dividir lógicamente su código como lo haría con el código del lado del servidor.

6

No sé si hay una forma de optimizar UpdatePanels, pero mi empresa ha encontrado que su rendimiento es bastante pobre. jQuery es mucho más rápido en casi cualquier cosa.

Puede haber mucha demora entre el momento en que UpdatePanel desencadena una actualización y cuando el UpdatePanel realmente actualiza la página.

La única razón por la que utilizamos UpdatePanels es debido a la facilidad de desarrollo. No se necesita hacer casi nada para que funcionen.

10

Por favor, no te pongas en ese mundo de dolor. En su lugar, use UFRAME, que es mucho más rápido y está implementado en jQuery.

Ahora, para administrar esas 2000 líneas de código Javascript, recomiendo dividir el código en diferentes archivos y configurar su proceso de compilación para unirlos utilizando JSMin o Yahoo Compressor en trozos.

+1

También el enlace está ahora muerto ... – apaul

3

El uso de UpdatePanel le obliga a utilizar ScriptManager que agregó toneladas de scripts en sus páginas web. UpdatePanel le proporciona devolución de datos parcial y ajax no real. Si va a ejecutar solo en una LAN y no en Internet está bien, pero si su objetivo es internet intente refractar sus códigos y comprimirlos con algunas herramientas antes de publicar en el sitio web