web-dev-qa-db-fra.com

Pour autoriser les demandes GET, définissez JsonRequestBehavior sur AllowGet

J'ai lié des enregistrements en masse dans une grille de Kendo UI. La réponse est renvoyée par Json.

Je reçois une erreur en utilisant le format ci-dessous:

Code du problème: Méthode 1:

public JsonResult KendoserverSideDemo(int pageSize, int skip=10)
{
  using (var s = new KendoEntities())
  {
    var total = s.Students.Count();

    if (total != null)
    {
      var data = s.Students.OrderBy(x=>x.StudentID).Skip(skip)
                           .Take(pageSize).ToList();

      return Json(new { total = total, 
                        data = data,
                        JsonRequestBehavior.AllowGet });
    }
    else
    {
      return null;
    }
  }
}

Méthode 2: fonctionne bien avec ceci:

public JsonResult KendoserverSideDemo(int pageSize, int skip=10)
{
  using (var s = new KendoEntities())
  {
    var total = s.Students.Count();

    if (total != null)
    {
      var data = s.Students.OrderBy(x=>x.StudentID).Skip(skip)
                           .Take(pageSize).ToList();

      return Json(data, JsonRequestBehavior.AllowGet);
    }
    else
    {
      return null;
    }
  }
}

Quel est le problème dans la première méthode 1?

15
Mohamed Sahir

Vous avez une simple erreur typo/syntax

return Json(new { total = total, data = data,JsonRequestBehavior.AllowGet });

Le JsonRequestBehavior.AllowGet est le deuxième paramètre de Json - il ne devrait pas faire partie de l'objet

return Json(new { total = total, data = data }, JsonRequestBehavior.AllowGet);
36
Jamiec
select new SelectListItem
 {                        
  Value = SqlFunctions.StringConvert((decimal)c.Id).Trim(),
  Text = c.GroupNameF.Trim()
 });
0
a. abd