2013-10-21 136 views
0

的JSON輸出這是我的模型:價值屬性

public class Model { 

    (...) 

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

} 

我希望輸出這些字段是用戶配置類中的用戶名屬性。現在,做一個簡單的JSON輸出時,它只是輸出

CreatedBy: null 
ChangedBy null 

(我試圖覆蓋在用戶配置類的ToString()方法返回的用戶名,但沒有幫助。)

我怎麼能使它在使用json輸出時,我可以獲得用戶名字段值?

這是我如何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

默認的Json串行器已經爲你做了這個。當您從數據庫中獲取時,看起來您並未包含此字段。你應該發佈更多的代碼! – Fals

+0

我將ApiController的代碼添加到了我原來的帖子中。讓我知道你還需要我展示什麼。 – fobia

+0

仍在苦苦掙扎着..不知道如何顯示UserProfile類的Username屬性... – fobia

回答

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) 
}