asp.net mvc 2 - mvc - ¿Cómo puede mi clase Asp.Net C#devolver un formato json
asp.net core web api 2 (3)
¿Cómo le gustaría una clase que devolverá un formato json?
Este método funciona bien en el controlador, pero cuando quiero ponerlo en una clase, el objeto Json no parece existir.
public JsonResult Test()
{
//Error 1 The name ''Json'' does not exist in the current context C:/inetpub/wwwroot/mvcinfosite/mvcinfosite/Validation/ValidationClass/BaseValidator.cs 66 20 mvcinfosite
return Json(new { errMsg = "test" });
}
Quiero poner ese código en una clase simple. Quiero poder llamar a este método en muchos controladores.
Gracias.
EDITAR
Esta es mi clase (donde el código no funciona)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using mvcinfosite.Models;
using mvcinfosite.Base;
using System.Web.Mvc;
public class BaseValidator
{
public JsonResult Test()
{
return Json(new { errMsg = "test" });
}
}
Json()
es un método en el controlador base que devuelve un JsonResult. Necesita hacer la serialización usted mismo.
return new JavaScriptSerializer().Serialize(new { errMsg = "test" });
Tendrá que incluir el using System.Web.Script.Serialization
.
return Json(new { errMsg = "test"});
es un método de conveniencia en el controlador que es equivalente a
return new JsonResult(){
Data = new { errMsg = "test"},
JsonRequestBehavior = JsonRequestBehavior.DenyGet
};
Para mí, esto funcionó (tenga en cuenta el cambio del tipo de devolución a Object):
public Object Test()
{
return new { errMsg = "test" };
}