1. ホーム
  2. asp.net-mvc

[解決済み] GET リクエストを許可するには、JsonRequestBehavior を AllowGet に設定します。

2022-02-03 18:23:28

質問

Kendo UIグリッドでバルクレコードをバインドしています。応答はJsonから返されます。

以下のフォーマットを使用すると、エラーが発生します。

問題コード: 方法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;
    }
  }
}

方法2 : これを使用して正常に動作しています。

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

最初の方法1の問題点は何ですか?

解決方法は?

単純なタイプミス/構文エラーです。

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

JsonRequestBehavior.AllowGet の2番目のパラメータです。 Json - オブジェクトの一部であってはならない

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