6

我正在尝试从 WebAPI 应用程序中的 MVC 控制器返回 Json 字符串,但无法使用return Json(...,因为正在使用的类扩展ApiController而不是Controller(我相信)。

是否有另一种方法可以做我想做的事情(例如返回不同的类型)?还是解决方法?

这是我的控制器代码:

public class SocialController : ApiController 
{
    public ActionResult Get(SocialRequest request) // or JsonResult?
    {
        JavaScriptSerializer js = new JavaScriptSerializer();
        string jsontest = js.Serialize(request); // just serializing back and forth for testing

        return Json(jsontest, JsonRequestBehavior.AllowGet);
    }
}

我收到的错误是“System.Web.Helpers.Json 是一种类型,但用作变量。”

我找到了以下相关的 SO 问题,但它并没有为我解决,如果有人能详细说明,我将非常感激(并提出代表点): Why Json() Function is unknown

4

1 回答 1

9

在 Asp.net Web Api 中,您不再有 ActionResults。您只需返回所需的对象。框架将对象转换为正确的响应(json、xml 或其他类型)

[HttpGet]
public IEnumerable<string> GetUsers(SocialRequest request)
{
    return _applicationsService.GetUserss(request);
}
于 2013-04-04T08:37:32.557 回答