我的Asp.NETC#类如何返回json格式

我的Asp.NETC#类如何返回json格式,c#,asp.net-mvc-2,C#,Asp.net Mvc 2,您希望如何创建一个返回json格式的类 这种方法在控制器中非常有效 但是,当我想放入一个类时,Json对象似乎不存在 public JsonResult Test() { //Error 1 The name 'Json' does not exist in the current context C:\inetpub\wwwroot\mvcinfosite\mvcinfosite\Validation\ValidationClass\BaseValidator.cs

您希望如何创建一个返回json格式的类

这种方法在控制器中非常有效 但是,当我想放入一个类时,Json对象似乎不存在

 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" });
 }
我想把代码放在一个简单的类中。我希望能够在许多控制器中调用此方法

谢谢

编辑
这是我的类(代码不起作用)

返回Json(新的{errMsg=“test”})

是控制器上的一种方便方法,相当于

return new JsonResult(){
      Data = new { errMsg = "test"},
      JsonRequestBehavior = JsonRequestBehavior.DenyGet
};
Json()
是基本控制器上返回JsonResult的方法。您需要自己进行序列化

return new JavaScriptSerializer().Serialize(new { errMsg = "test" });
您需要使用System.Web.Script.Serialization包含

对于我来说,这是有效的(注意将返回类型更改为Object):


你在你的课堂上有正确的
使用
语句吗?如果你发布一个不工作的代码,而不是一个工作正常的代码,通常会更容易理解发生了什么。Thx Ryan,我真的很感激。@Jean Francois你说你需要在许多控制器中这样做你不需要ActionResult而不是字符串吗?只是澄清一下。我知道他现在在问什么。是的,最好只返回一个JsonResult,但我不能100%确定验证器在MVC中是如何工作的,因为我以前没有使用过它们。Thx jbtule,您的解决方案也很好。。。我只能提出一个答案。但是你的工作做得很好。Thx:)@Jean Francois没关系,只是两个答案返回的结果非常不同,@Ryan的答案返回一个字符串,如果只是将其作为操作方法的结果返回,这并不理想,但是,如果您需要做一些与MVC模式无关的事情,您需要更多的想法。这应该是答案,因为NewtonSoft JSON在.NET中被广泛使用
return new JavaScriptSerializer().Serialize(new { errMsg = "test" });
public Object Test()
{
      return new { errMsg = "test" };
}