Bootstrap портит элементы ul и li

Это на самом деле происходит потому, что сложные объекты - это то, что заставляет результирующий json-объект терпеть неудачу. И это терпит неудачу, потому что, когда объект отображается, он отображает детей, который отображает их родителей, делая круговую ссылку. Json потребовал бы бесконечного времени для его сериализации, поэтому он предотвращает проблему с исключением.

Отображение структуры Entity Framework также приводит к такому же поведению, и решение состоит в том, чтобы отбросить все нежелательные свойства.

Просто объясняя окончательный ответ, весь код будет выглядеть следующим образом:

public JsonResult getJson()
{
    DataContext db = new DataContext ();

    return this.Json(
           new {
                Result = (from obj in db.Things select new {Id = obj.Id, Name = obj.Name})
               }
           , JsonRequestBehavior.AllowGet
           );
}

Он также может быть следующим, если вы не хотите, чтобы объекты внутри свойства Result:

public JsonResult getJson()
{
    DataContext db = new DataContext ();

    return this.Json(
           (from obj in db.Things select new {Id = obj.Id, Name = obj.Name})
           , JsonRequestBehavior.AllowGet
           );
}
0
задан coder 15 January 2014 в 06:44
поделиться