Как мой класс Asp.Net С# возвращает json-формат

Как хотел бы класс, который вернет 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" });
 }

Я хочу поставить этот код в простой класс. Я хочу иметь возможность вызвать этот метод во многих контроллерах.

Спасибо.

РЕДАКТИРОВАТЬ
Это мой класс (где код не работает)

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" });
     }
}

Ответы

Ответ 1

Json() - это метод на базовом контроллере, который возвращает JsonResult. Вам нужно сделать сериализацию самостоятельно.

return new JavaScriptSerializer().Serialize(new { errMsg = "test" });

Вам нужно будет включить using System.Web.Script.Serialization.

Ответ 2

return Json(new { errMsg = "test"});

- метод удобства на контроллере, эквивалентный

return new JsonResult(){
      Data = new { errMsg = "test"},
      JsonRequestBehavior = JsonRequestBehavior.DenyGet
};

Ответ 3

Для меня это сработало (помните об изменении типа возврата для Object):

public Object Test()
{
      return new { errMsg = "test" };
}