ASP, Javascript, Ajax y jQuery
Una de las primeras cosas que me llamó la atención al comenzar a trabajar
con Razor es la cantidad de formas que hay de de pasarle a la view,
variables, dtos, etc. para trabajar en el lado del cliente.
Ejemplo 1: supongamos que tenemos el siguiente DTO
Entonces desde el controlador pasamos los datos a la view de la siguiente
manera.
Entonces en la view manejamos las variables con los datos de la siguiente
manera
Si lo que pasamos a la view fuera una lista, en el controlador tendríamos
algo así.
y en la view...
Otra forma de pasar datos de un controller a la view es mediante ViewBag y
ViewData...
ViewBag.Nombre = "Marcelo";
y en la view simplemente
En la view se permiten este tipo de códigos.
Ahora supongamos que queremos pasar los datos de un FORM en la view a un
controller.
Ejemplo 2: Usando el DTO de mas arriba...
Tenemos el siguiente controller.
...y la siguiente view.
Esto funciona porque los name="..." del input coinciden con el dto.
Ahora supongamos que esto lo queremos hacer usando AJAX. Usando el mismo
DTO de arriba,
Ejemplo 3: Armamos el controller de la siguiente forma.
Nos tenemos que asegurar que JQuery este presente en la página (o en
_Layout, o la página que la contenga)
El formulario sería...
y el script AJAX
Nota: también se podrían pasar los datos al controller de esta forma
dentro del $.ajax({... :
y en el controller, recibirlos con
Sin [FromBody], y sin JSON.stringify.