C# 为什么不是';当从mvc返回json时,IgnoreDataMember属性是否起作用?

C# 为什么不是';当从mvc返回json时,IgnoreDataMember属性是否起作用?,c#,asp.net-mvc,json,asp.net-mvc-3,C#,Asp.net Mvc,Json,Asp.net Mvc 3,我正在从MVC控制器操作返回一个JsonResult,并且一直在尝试删除一个属性,但没有多少乐趣 return Json(db.Pages.ToList(), JsonRequestBehavior.AllowGet); 我已经试着装饰我的班级,这是和 [IgnoreDataMember] 属性,并在类的其他属性上使用[DataContract]和[DataMember]属性,但这似乎被忽略 我在这里找到一篇文章,其中指出以这种方式返回json将使用JavaScriptSerializer,

我正在从MVC控制器操作返回一个JsonResult,并且一直在尝试删除一个属性,但没有多少乐趣

return Json(db.Pages.ToList(), JsonRequestBehavior.AllowGet);
我已经试着装饰我的班级,这是和

[IgnoreDataMember]
属性,并在类的其他属性上使用[DataContract]和[DataMember]属性,但这似乎被忽略

我在这里找到一篇文章,其中指出以这种方式返回json将使用JavaScriptSerializer,我尝试使用[ScriptIgnore],但vs2010没有将其识别为有效属性

为了IgnoreDataMember或DataContract/DataMember工作,我是否需要以不同的方式返回数据?

位于
System.Web.Script.Serialization
命名空间中-您是否有使用
指令和引用
System.Web.Extensions
程序集的适当

记住将
ProxyCreationEnabled
设置为false

context.Configuration.ProxyCreationEnabled = false;

Json
/
JsonResult
使用
JavaScriptSerializer
,而不是
DataContractJsonSerializer
IgnoreDataMember
DataContract
DataMember
是不相关的。看看乔恩的答案,有什么关系