无法使用Kendo ui网格绑定数据

这是我的操作方法

 public ActionResult Kendo([DataSourceRequest]DataSourceRequest request )
    {
        var emp = EmployeeManager.GetAllEmployees();

        DataSourceResult result = emp.ToDataSourceResult(request);
        return Json(result);
    }


这是我从官方网站上获取的电网代码

@model IEnumerable<MyProject.Web.Models.EmployeeViewModels.EmployeeViewModel>

@using Kendo.Mvc.UI;

@(Html.Kendo().Grid<TalentPro.Employees.Employee>()
      .Name("grid")
      .DataSource(dataSource => dataSource //Configure the Grid data source.
          .Ajax() //Specify that Ajax binding is used.
          .Read(read => read.Action("Kendo", "Home")
          ) //Set the action method which will return the data in JSON format.

       )
      .Columns(columns =>
      {
          //Create a column bound to the ProductID property.
          columns.Bound(product => product.Id);
          //Create a column bound to the ProductName property.
          columns.Bound(product => product.FirstName);
          //Create a column bound to the UnitsInStock property.
          columns.Bound(product => product.LastName);
          columns.Bound(product => product.EmailId);
          columns.Bound(product => product.PhoneNumber);
      })
      .Pageable() // Enable paging
      .Sortable() // Enable sorting

我已经阅读了官方文档,它帮助我将Kendo ui与我的Asp.net核心项目集成在一起。 但我不知道我出错的地方,它没有将数据与网格绑定。

我一直在尝试多种方式,但没有用。 任何人都可以帮我解决这个问题。
提前致谢。


终于有了解决方案这些是我所做的改变

  • 将ActionResult更改为JsonResult
  • 在startup.cs中添加了一行以下的行
    “.AddJsonOptions(options => options.SerializerSettings.ContractResolver = new DefaultContractResolver());”
    感谢coby

  • 在你的控制器方法中,替换

    return Json(result);
    

    return Json(result, JsonRequestBehavior.AllowGet);
    

    由于安全原因,MVC默认为DenyGet,因此您必须手动将其设置为AllowGet,否则它将无法正确返回。

    需要注意的是,如果浏览器使用的是旧版本(它已被修复),这可能会给您返回的JSON对象带来一个小的漏洞。 如果您传递的是特别敏感的信息,并且您的用户能够从过时的浏览器访问该页面,则这应该只是一个问题。

    你可以在这里阅读更多关于这个主题的信息。

    链接地址: http://www.djcxy.com/p/47783.html

    上一篇: Not able to bind data with Kendo ui grid

    下一篇: Is CSRF protection for side effect free GET requests needed?