//Controlador .ashx
public void ProcessRequest (HttpContext context) {
//...
List<Libro> lista = new List<Libro>()
{
new Libro(){ ISBN = "123456789", Titulo = "Cien Años de Soledad",Autor = "Gabriel García Márquez"},
new Libro(){ISBN = "756753321",Titulo = "Pedro Páramo",Autor ="Juan Rulfo"},
new Libro(){ISBN = "655902123",Titulo = "El Aleph",Autor ="Jorge Luis Borges"}
};
//Pasamos la colección a formato JSON. Se guardará en jsonLista:
StringBuilder jsonLista = new StringBuilder();
JavaScriptSerializer js = new JavaScriptSerializer();
js.Serialize(lista, jsonLista);
//Devolvemos al cliente la colección:
context.Response.ContentType = "text/plain";
context.Response.Write(jsonLista.ToString());
}
...
//La clase Libro:
public class Libro
{
public string ISBN {get;set;}
public string Titulo {get;set;}
public string Autor {get;set;}
}
En el cliente, leemos la colección JSON devuelta por el servidor:
...
$.post("../Controladores/MiControlador.ashx", { Data: "ObtenerLibros"},
function (response) {
if (response.length > 0) {
LeeColeccionJSON(response);
}
});
...
function LeeColeccionJSON(response)
{
//pasamos la colección JSON a un array de objetos javascript:
var arr = eval(response);
//Leyendo array:
for(int i=0; i< arr.length; i++)
{
alert("Libro: " + arr[i].Titulo);
}
}
No hay comentarios:
Publicar un comentario