要允许GET请求,请将JsonRequestBehavior设置为AllowGet

时间:2017-02-13 14:30:55

标签: asp.net-mvc asp.net-mvc-4 asp.net-mvc-3 razor asp.net-mvc-5

我在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有什么问题?

2 个答案:

答案 0 :(得分:41)

您有简单的拼写错误/语法错误

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

JsonRequestBehavior.AllowGetJson的第二个参数 - 它不应该是对象的一部分

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

答案 1 :(得分:-1)

select new SelectListItem
 {                        
  Value = SqlFunctions.StringConvert((decimal)c.Id).Trim(),
  Text = c.GroupNameF.Trim()
 });