web-dev-qa-db-de.com

Um GET-Anforderungen zuzulassen, setzen Sie JsonRequestBehavior auf AllowGet

Ich habe Bulk-Datensätze in einem Kendo-UI-Raster gebunden. Die Antwort wird von Json zurückgegeben.

Ich erhalte Fehler beim Verwenden des folgenden Formats:

Problemcode: Methode 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;
    }
  }
}

Methode 2: Funktioniert gut mit diesem:

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;
    }
  }
}

Was ist das Problem bei der ersten Methode 1?

15
Mohamed Sahir

Sie haben einen einfachen Tippfehler/Syntaxfehler

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

Der JsonRequestBehavior.AllowGet ist der zweite Parameter von Json - er sollte nicht Teil des Objekts sein

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