Acciones del controlador ASP.NET MVC que devuelven JSON o html parcial
Estoy intentando crear acciones de controlador que devuelvan JSON o html parcial dependiendo de un parámetro. Cuál es la mejor manera de obtener el resultado devuelto a una página MVC de forma asíncrona?
394
3
En su método de acción, devuelva Json(object) para devolver JSON a su página.
Luego sólo tienes que llamar al método de acción usando Ajax. Puedes usar uno de los métodos de ayuda de la ViewPage como
SomeMethod sería un método javascript que luego evalúa el objeto Json devuelto.
Si quieres devolver una cadena simple, puedes usar simplemente el ContentResult:
ContentResult por defecto devuelve un text/plain como contentType.
Esto es sobrecargable por lo que también se puede hacer:
Otra buena forma de tratar los datos JSON es utilizar la función JQuery getJSON. Puedes llamar a la función
Método desde el método jquery getJSON simplemente...
Para responder a la otra mitad de la pregunta, puede llamar:
cuando quieras devolver un HTML parcial. Sólo tienes que encontrar alguna manera de decidir si la solicitud quiere JSON o HTML, tal vez basado en una parte/parámetro de la URL.