Почему атрибут IgnoreDataMember не работает при возврате json из mvc? - PullRequest
4 голосов
/ 14 февраля 2011

Я возвращаю JsonResult из действия контроллера MVC и пытаюсь удалить один атрибут, но не испытываю особой радости.

return Json(db.Pages.ToList(), JsonRequestBehavior.AllowGet);

Я попытался украсить свой класс, который возвращается с помощью

[IgnoreDataMember]

и использование атрибутов [DataContract] и [DataMember] для других атрибутов класса, но это, кажется, игнорируется.

Я нашел здесь сообщение, где говорится, что возвращениеjson таким образом будет использовать этот JavaScriptSerializer, я пытался использовать [ScriptIgnore], но vs2010 не распознает это как допустимый атрибут.http://teamezy.blogspot.com/2008/12/making-jsonresult-in-mvc-ignore.html

Нужно ли возвращать данные другим способом для того, чтобы вещи IgnoreDataMember или DataContract / DataMember работали?

1 Ответ

15 голосов
/ 14 февраля 2011

ScriptIgnoreAttribute находится в пространстве имен System.Web.Script.Serialization - имеется ли у вас соответствующая директива using и ссылка на сборку System.Web.Extensions?

Не забудьте установить ProxyCreationEnabled в false.

context.Configuration.ProxyCreationEnabled = false;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...