Json的值输出属性

时间:2013-10-21 10:45:26

标签: asp.net-mvc json asp.net-mvc-4

这是我的模特:

public class Model {

    (...)

    [Required]
    [Display(Name = "Created By")]
    public UserProfile CreatedBy { get; set; }
    [Display(Name = "Changed By")]
    public UserProfile ChangedBy { get; set; }

}

我希望输出这些字段是UserProfile类中的Username属性。现在,当做一个简单的JSON输出时,它只输出

CreatedBy: null
ChangedBy null

(我尝试覆盖UserProfile类上的ToString()方法以返回用户名,但这没有帮助。)

如何在json中输出时获取Username字段值?

这就是我在json中输出数据的方式:

public class MyController : ApiController
{

    public List<Model> Get(string param1, string param2)
    {

        DbContext db = new DbContext();

        List<Model> list = (from d in db.Models
                               select d
                               ).ToList();


        return list;

    }
}

1 个答案:

答案 0 :(得分:0)

首先,你必须返回ActionResult / JsonResult来取出Json。

public ActionResult GetJson()
{
     var result=from m in db.Models select new { CreatedBy=m.CreatedBy.Name, ChangedBy=m.ChnangedBy.Name };
     return Json(result, JsonRequestBehaviour.AllowGet)
}