2011-11-03 14 views
6

Estoy tratando de buscar una buena explicación (en profundidad) de lo que sucede cuando se usan ayudantes MVC ajax. Qué eventos y clases de CSS se agregan. Puedo encontrar sprinkle of info aquí y allá, pero no hay una explicación general de cómo funciona este marco ajax. ¿Hay una buena explicación por ahí?¿Hay una buena explicación sobre lo que está haciendo ASP.NET MVC3 con sus ayudantes ajax y la representación de javascript discreto?

+0

hasta el momento examinando las muestras que he encontrado clase css: entrada-validación-error y entrada-validación-válida, todavía siento que me falta una buena referencia. Buena pregunta. – BigMike

+2

Sé que la fuente es la mejor documentación. Podría revisar sus archivos js para descubrir qué está pasando y sería un hombre mejor para eso, pero pensé en preguntar primero si ese trabajo ya estaba hecho para mí. –

Respuesta

0

MVC3 Los ayudantes de Ajax simplemente agregan algunos nombres y datos de clase css en el elemento de formulario. Debe incluir jquery.unobtrusive-ajax.js en su proyecto.

Cuando el dom está listo, este script busca elementos del formulario con los nombres de clase css anteriores. Cuando se envía el formulario, el script captura el evento, serializa los valores del formulario, usa $ .ajax para llamar a la URL de destino, y puede poner la respuesta en un ID de elemento dado, o dárselo a tu método js personalizado según las opciones usaste.

input-validation-error y validation-input-valid classes se usan para validación discreta, que no es lo mismo que ajax discreto (solo comparten la palabra discreto). Necesita jquery.validate.unobtrusive.js y transformar la validación de scripts de microsoft en jquery validate validation. Consulte http://rocketsquared.com/wiki/Plugins/Validation para obtener detalles sobre la validación de jquery validate.

+0

con MVC 3 cambiaron a jQuery AJAX por completo (MS Ajax es un amigo/amigo ahora desaparecido) – BigMike

+0

No lo hacen. El valor predeterminado es usar MsAjax. Ahora tienes la opción. Con versiones anteriores, no. MsAjax no está documentado de muchas maneras. jQuery es. Elígete a ti mismo, pero prefiero el javascript fluido de jQuery a los nombres monstruosos pero significativos de MsAjax. – Softlion

1

Los métodos de Ajax Helper convierten Html en su página.

La mejor manera de ver exactamente qué es lo que agrega un método Ajax Helper es ver la fuente cuando se procesa en su navegador en tiempo de ejecución.

Incluso puede ver las cosas discretas presentadas en la fuente si elimina su referencia a jquery.unobtrusive-ajax.js.

También puede escribir sus propios métodos Ajax (y Html) Helper en forma de métodos de extensión.

Cuestiones relacionadas