无法使用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核心项目集成在一起。 但我不知道我出错的地方,它没有将数据与网格绑定。
我一直在尝试多种方式,但没有用。 任何人都可以帮我解决这个问题。
提前致谢。
终于有了解决方案这些是我所做的改变
“.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?