JSon es un formato ligero de intercambio de datos propio de Javascript así que viene al pelo para el envio de información entre el cliente y el servidor dentro de Asp.Net Mvc 2. A continuación posteo código "calentito y funcionando" para realizar llamadas asíncronas desde las funciones jQuery del navegador hasta la accion del controlador que se encargue de la persistencia y que esta le devuelva los datos solicitados.
Fichero jQuery/* * Solicita áreas al controlador y continua la ejecucion */ function RecuperarArea() { // Llamo a la acción del servidor como si de un SW se tratara $.post("/VisorMapa/DameArea/", // Envío a la acción el id del usuario { id: id.toString() }, function (result) { // Inserto los elementos del string devueltos en una objeto javascript var resultParseado = $.parseJSON(result); for (i in resultParseado) { // recogo una fila y la meto en temporal var listaTemporal = new Array(); listaTemporal[0] = resultParseado[i].latitud; listaTemporal[1] = resultParseado[i].longitud; // asigno fila temporal en una fila del array bidimensional listaCoordenadas[i] = listaTemporal; } // Continua para pintar las coordenadas PintarPorCoordenadas(listaCoordenadas, divVista); } ); }
Controlador
// Recibe la solicitud de área y la serializa public ActionResult DameArea(string id) { List<Coordenada> coordenadasMock = new List<Coordenada>(); //TODO : sustituir por la llamada real a persistencia coordenadasMock = new List<Coordenada>{ new Coordenada(38.39494286693514, -0.4397347569465637), new Coordenada(38.39474286693514, -0.4395347569465637), new Coordenada(38.39489286693514, -0.4395347569465637)}; JavaScriptSerializer jss = new JavaScriptSerializer(); string listaSerializadaJson = jss.Serialize(coordenadasMock); return Content(listaSerializadaJson); }
Comentarios
Publicar un comentario