2011-03-08 48 views

回答

6

它看起來像ScriptIgnoreAttribute會做你想做的。只是裝飾你不希望序列化的任何財產。

+0

完美!謝謝。 – dkarzon 2011-03-08 04:17:14

1

使用該匿名方法:

所以不是

return Json(it); 

return Json(new { 
    it.Name, 
    CreatedAt = it.CreatedAt.ToString("D") 
    // And so on... 
}); 

這種方式設置的屬性,以確保只有網絡時,您明確發佈(圖)允許的屬性可以從JSON訪問。

如果您不想重複自己,您可以使用JSON.NET序列化程序,您可以使用它來自定義對象序列化的方式。 (所以你可以創建自定義HideAttribute並考慮到這一點)。 使用JSON.NET,您還需要編寫Controller.Json方法替換(SmartJson左右)。但它不應該是我想的問題。

+0

嗯,這就是我害怕的。希望我可以添加一個屬性,並且Json函數可以做到這一點,如 [HideJson] public string Password {get;組; } – dkarzon 2011-03-08 02:21:10

+0

你實際上可以做一點努力。使用JSON.NET - 更新答案。 – 2011-03-08 04:12:17