Asp.net mvc 如何从Action属性返回Json对象?

Asp.net mvc 如何从Action属性返回Json对象?,asp.net-mvc,Asp.net Mvc,重写OnActionExecuting时,如何在不传递给操作的情况下返回Json结果?我发现使用它来生成Json输出很有用。这有很多优点,例如JSON属性可以在某些条件下隐藏 public override void OnActionExecuting(ActionExecutingContext filterContext) { if (/* whatever */) { var result = new JsonResult(); result.Data

重写OnActionExecuting时,如何在不传递给操作的情况下返回Json结果?

我发现使用它来生成Json输出很有用。这有很多优点,例如JSON属性可以在某些条件下隐藏

public override void OnActionExecuting(ActionExecutingContext filterContext)
{
   if (/* whatever */)
   {
      var result = new JsonResult();
      result.Data = /* json data */;
      filterContext.Result = result;
      return;
   }

   base.OnActionExecuting(filterContext);
   return;
}
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
    if (/* whatever */)
    {
        var result = new ResultModel(); // your json model
        ContentResult content = new ContentResult();
        content.ContentType = "application/json";
        content.Content = JsonConvert.SerializeObject(result);
        filterContext.Result = content;
        base.OnActionExecuting(filterContext);
    }
}

将结果的Data属性设置为要返回的Json数据让它工作感谢
JsonRequestBehavior
提示!正是我想要的=)