Quantcast
Viewing all articles
Browse latest Browse all 5

metodo JsonResult

Buenas!

Primero, eso que quieres hacer requiere de ASP.NET MVC3, ya que estás enviando datos en formato json al servidor y eso no está soportado por MVC2 (debes crearte un value provider propio si quieres soportarlo).

Bien, en MVC3 el código así tampoco te funcionará, porque si pones un breakpoint en el controlador verás que el parámetro "dato" es null. Y eso es porque tu estás enviando esto al controlador:

{dato:"2"}

Eso NO es una cadena, eso es un objeto con una propiedad (dato) de tipo cadena. Así que eso es lo que debe recibir el controlador:

public class DatoJson
{
   public string dato { get; set;}
}

Y el controlador debe recibir un objeto DatoJson, no un string:

public ActionResult metodo(DatoJson data){
var map = new Dictionary<string, object>();
map.Add("result", data.dato);
map.Add("success", true);
return Json(map, JsonRequestBehavior.AllowGet);
}

Esto, sí te debería funcionar (repito, en MVC3).

Saludos!


Eduard Tomàs Blog: http://geeks.ms/blogs/etomas -- Twitter: eiximenis


Viewing all articles
Browse latest Browse all 5