6

WebAPI アプリケーションで MVC コントローラーから Json 文字列を返そうとしていますが、使用return Json(...されているクラスが拡張されていないため使用できませApiControllerController(私は信じています)。

私がやろうとしていることを行うための代替方法はありますか (たとえば、別の型を返すなど)? または回避策?

これは私のコントローラコードです:

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 の質問を見つけましたが、それは私にとっては解決していません

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 に答える