Pregunta

Bueno, mi último contrato me está obligando a entrar en el mundo antiguo de .Net 1.1.

Desde que uso jQuery y Rails desde hace bastante tiempo, las soluciones tipo AJAX para los problemas siguen apareciendo en mi cabeza y no puedo evitar escribirlas.

Por lo tanto, mi problema bastante sencillo es que tengo 3 acciones que debo realizar en un registro (insertar, actualizar y eliminar). Puedo manejar el índice y mostrar usando controles de ASP.Net y javascript.

Estoy usando jQuery para todas mis cosas AJAX.

La forma en que pensé hacer esto es presentar una página ASPX simple que actúa como un controlador para estas tres acciones, dándole una vista anémica y manejando toda la representación de los datos de retorno utilizando concatenaciones de cadenas. ¿Hay un mejor patrón para usar aquí? ¿Cómo hackeaste ajax en ASP.Net 1.1?

Vi esta publicación en ajaxprojects que está utilizando un poco Técnica similar excepto que están haciendo 1 página por acción ajax.

¿Fue útil?

Solución

Solíamos usar ajax en ASP clásico simplemente publicando mensajes XML en una página ASP que cargaría el xml desde el cuerpo de la solicitud.

Puede hacer esto usando una página ASHX (controlador ASP.Net) No tendrá ninguna sobrecarga adicional de los objetos de la página. Básicamente, puede crear una carga útil Xml (o json o lo que quiera) publicarla en la página ashx, que tiene un solo método que inspeccionará la solicitud, realice lo que necesita y devolverá los resultados que necesita.

Otros consejos

Cuanto más abandone el paradigma de control web y cuanto menos sea el estado de visualización que use, más sencillo será, lo que es sorprendente pero cierto. Sin embargo, el desarrollo de ASP.NET nos protege de HTML, CSS y JavaScript, y pocos desarrolladores de ASP.NET están preparados para lidiar con ellos de manera tan directa, por lo que es mejor tomar la posición intermedia al principio.

La buena noticia es que ASP.NET 1.1 funciona muy bien con jQuery y usted puede hacer lo que quiera, desde evitar los controles web y simplemente usar HTML sin procesar con jQuery, hasta hacer un uso completo de ASP.NET y utilizar solo un poco de jQuery para, por ejemplo, validar en el cliente y así evitar una devolución de datos.

Un ejemplo de tomar una ruta intermedia podría ser crear una cuadrícula de datos normal, idealmente apagada en una página separada, rodeada por solo un elemento de formulario (con runat = server eliminado), o tal vez solo un elemento div, y servirlo a través del método de carga jQuery ajax.

Yo personalmente no uso ninguna de las bibliotecas de Microsoft Ajax. Cada vez que veo personas que las usan en muestras, parece que solo complican lo que jQuery ya hace más simple, más rápido y mejor. Esto es sencillo, no lo hagas feo y lento al juntar bibliotecas de MS innecesarias y usar un XML voluminoso sin algunas razones realmente buenas. También elimino personalmente todo ViewState de todas las páginas, y aún no he encontrado un caso en el que ViewState hizo algo útil para mí que no fuera más simple y eficiente, simplemente para manejar directamente. Resulta que nunca lo necesitamos, pero Ajax selló el trato. Y la disminución en el tamaño de la página con el aumento correspondiente en la velocidad es una revelación. Vivir más plenamente en el paradigma real de la web es mucho más simple y mejor que vivir con la magia de ASP.NET con fugas.

HTH.

Mike

P.S. Wow, todos se unen a un desarrollo web más simple y mejor: Control de HTML en ASP.NET WebForms

Continuar rodando el tuyo con jquery no es una mala idea, pero obviamente tendrás que " reinventar la rueda " Creando soporte básico de ajax en controles existentes. La forma más rápida de completar el proyecto sería rastrear las últimas versiones de los controles de Infragistic que admiten .NET 1.1.

No me sorprendería si todavía tuvieran 1.1 versiones en sus paquetes de 2007, ya que son bastante buenos en cuanto a compatibilidad.

Usé AjaxPro para mis proyectos 1.1 con bastante éxito. El modelo que utilicé fue construir controles de usuario para representar las 'vistas' y luego, en las solicitudes de ajax, cargué dinámicamente el control de usuario y llamé al método Render () en el control.

Cuando llame a Render (), escribirá el HTML para su control a un escritor de texto que luego podrá devolver al cliente a través de su llamada ajax e insertarlo en una división de marcador de posición.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top