2
我創建的自定義ActionResult
(簡體):在ASP.NET MVC自定義JSON結果
public class FastJSONResult : ActionResult
{
public string JsonData { get; private set; }
public FastJSONResult(object data)
{
JsonData = JSON.Instance.ToJSON(data);
}
public override void ExecuteResult(ControllerContext context)
{
HttpResponseBase response = context.HttpContext.Response;
response.ContentType = "application/json";
response.Output.Write(JsonData);
}
}
而且用它從我的WebAPI控制器:,
public ActionResult GetReport()
{
var report = new Report();
return new FastJSONResult(report);
}
現在的問題是儘管在FastJSONResult
構造函數我的對象完美序列化,ExecuteResult
永遠不會被調用,並在迴應我最終與對象類似
{"JsonData":"{my json object as a string value}"}
我在做什麼錯?
你響應看起來不錯,如果你使用'return Json(report,JsonRequestBehavior.AllowGet);'就會得到相同的響應。你嘗試過嗎? –
@DZL好的,也許,但那不好,不是嗎? – Anri
@DZL還有,我的觀點是,爲什麼'ExecuteResult'沒有被調用? – Anri