無論ViewResult還是JsonResult都繼承ActionResult,ActionResult里只有一個方法ExecuteResult 1、Controllr的Json方法 實際上是new JsonResult,然後執行ExecuteResult方法,指定了ContentType-appl ...
無論ViewResult還是JsonResult都繼承ActionResult,ActionResult里只有一個方法ExecuteResult
1、Controllr的Json方法
實際上是new JsonResult,然後執行ExecuteResult方法,指定了ContentType-application/json ,然後將Data序列化成字元串寫入stream
1.1、new JsonResult
大家看到JsonRequestBehavior.DenyGet這句話也就明白了(拒絕Get請求),為什麼我們在寫return Json的時候要加上這樣一句話了JsonRequestBehavior = JsonRequestBehavior.AllowGet,Controllr的Json方法實際上是return JsonResult
1.2、覆寫ActionResult的ExecuteResult方法
指定了ContentType-application/json ,然後將Data序列化成字元串寫入response stream
所以我們瞭解了原理後,我們可以隨意擴展的,只需要把數據放入response 指定好ContentType就可以了