2013-04-04 10 views
6

Staram się zwracać ciąg JSON od kontrolera MVC w aplikacji WebAPI, ale jestem w stanie używać return Json(... ponieważ klasa wykorzystywane rozciąga ApiController i nie Controller (wierzę) .Wracając JSON od kontrolera MVC, która rozciąga Apicontroller

Czy istnieje alternatywna metoda wykonania tego, co próbuję wykonać (np. Zwrócić inny typ)? Lub obejście?

To jest mój kod kontrolera:

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

Błąd Odbieram to „System.Web.Helpers.Json jest typem, ale jest stosowany jak zmienna”.

Znalazłem następujące związanych SO pytanie, ale nie rozwiązało to dla mnie, jeśli ktoś może opracować naprawdę bym go (i rozdać punkty REP) doceniają: Why Json() Function is unknown

Odpowiedz

9

W Asp.net Web Api nie masz już ActionResults. Zwróć po prostu potrzebny obiekt. Ramy konwertują obiekt do właściwej odpowiedzi (json, xml lub inne typy)

[HttpGet] 
public IEnumerable<string> GetUsers(SocialRequest request) 
{ 
    return _applicationsService.GetUserss(request); 
} 
Powiązane problemy