2008-08-05 15 views
12

Tengo una aplicación web que estoy tratando de optimizar. Algunos de los controles están ocultos en el estilo de diálogo DIVs. Entonces, me gustaría que se carguen a través de AJAX solo cuando el usuario quiera verlos. Esto está bien para los controles que son principalmente basados ​​en el literal (varios menús y widgets), pero cuando tengo lo que llamo controles "sucios" - los que escriben información extensa en el ViewState, coloque toneladas de CSS o script en la página, requiera muchas referencias, etc., es aparentemente imposible moverlas "fuera de página", especialmente teniendo en cuenta cómo reaccionará ASP.NET en la devolución de datos.Manera fácil de AJAX WebControls

Estaba considerando algún tipo de paso en el que invalidar Render, buscar marcadores para los bits que quiero mover y poner marcadores de posición AJAX, pero no solo el servidor parece extremo, también se siente como un hack completo . Además, el elemento clave aquí son los cuadros de diálogo que contienen formularios con controles de validación sobre ellos, y no puedo imaginar cómo movería los controles y a sus scripts requeridos.

En mi febril imaginación, quiero hacer esto:

AJAXifier.AJAXify(ctlEditForm); 

Lamentablemente, sé que esto es un sueño.

¿Qué tan cerca puedo llegar a una AJAXificación rápida y fácil sin causar demasiada carga en el servidor?

+0

@ [etiquetas2k] (http://stackoverflow.com/questions/2196/easy-way-to-ajax-webcontrols#2404) - Si es útil, creo que puede obtener la licencia del control establecido para [$ 799] (http://www.telerik.com/purchase/purchase-individual/b219S-kgb.aspx) (menos suscripción y código fuente) –

Respuesta

2

Comprueba el control RadAjax de Telerik: te permite evitar el uso de UpdatePanels y limitar la cantidad de información pasada y vuelta entre el servidor y el cliente al declarar relaciones directas entre controles de llamadas y controles que deben ser "Ajaxified" cuando los controles de llamada envían devoluciones.

+0

Eso es exactamente lo que quiero, desafortunadamente es $ 999 y eso simplemente no está en el presupuesto. Voy a marcar tu publicación como la respuesta a menos que alguien tenga una alternativa más barata. @Rob: me enorgullece decir que no existe un UpdatePanel en toda la solución, a pesar de ellos y de la increíble ineficiencia que envían. El problema con tratar de limpiar los controles sucios es que los delincuentes no son míos, ¡son de Microsoft! – tags2k

0

El primer paso es hacer que sus piezas "sucias" autónomo usuario controla

El segundo paso es integrar esos controles en la página de consumo

El tercer paso es envolver cada etiqueta de control de usuario en su propia Asp : UpdatePanel

El cuarto paso es garantizar que su control obtenga los datos que necesita haciendo que se lea desde las propiedades que verifican los valores preexistentes del viewstate. Sé que esto hace que tu código dependa de feas variables globales, pero es una forma rápida de hacerlo.

Su kilometraje puede variar.

1

Le recomiendo que camine a su librería local este fin de semana, tome una taza de café y encuentre jQuery in Action de Manning Press. Siga leyendo el primer capítulo de este libro de 300 páginas en la tienda, luego cómprelo si le suena.

Creo que se sorprenderá de lo fácil que jQuery le permite realizar lo que describe aquí. Desde ajax llama al servidor en segundo plano, para mostrar y ocultar etiquetas div en función de las acciones del visitante. La cantidad de código que tienes que escribir es súper pequeño.

Hay una buena cantidad de buenas bibliotecas de JavaScript, esta es solo una de las que me gusta, y realmente es fácil comenzar. Comience por incluir una referencia al archivo jQuery actual con una etiqueta y luego escriba unas pocas líneas de código para interactuar con su página.

Cuestiones relacionadas