function Libro(isbn,titulo,autor)
{
this.ISBN = isbn;
this.Titulo = titulo;
this.Autor = autor;
}
Mediante la librería JSON.js y su función stringify serializamos el objeto de javascript(JSON) y lo mandamos al controlador:
var libro = new Libro("9755420406824", "El Sueño del Celta","Mario Vargas Llosa");
//Serializamos el objeto JSON:
var jsonLibro = JSON.stringify(libro);
//Ahora mandamos el objeto serializado al controlador genérico:
$.post("../Controladores/MiControlador.ashx", { Data: jsonLibro },
function (response) {
if (response.length > 0) {
alert(response);
}
});
En el controlador, mediante la clase JavaScriptSerializer(contenida en System.Web.Script.Serialization), deserializamos el objeto JSON y obtenemos una instancia de la Clase libro; finalmente devolvemos al cliente un mensaje:
...
public void ProcessRequest (HttpContext context) {
string mensaje = "";
string jsonLibro = context.Request.Form["Data"];
//deserializo:
JavaScriptSerializer js = new JavaScriptSerializer();
Libro libro = js.Deserialize<Libro>(jsonLibro );
mensaje = "Recibido el libro: " + libro.Titulo;
context.Response.ContentType = "text/plain";
context.Response.Write(mensaje);
}
...
//La clase Libro:
public class Libro
{
public string ISBN {get;set;}
public string Titulo {get;set;}
public string Autor {get;set;}
}
Gracias por la entrada me ha venido muy bien!
ResponderEliminarEnhorabuena!.
ResponderEliminarMuchas gracias, me ha venido excelente como recordatorio. Excelente ejemplo :D.
ResponderEliminar