Kendo ui 剑道UI网格未调用读取方法
根据要求,我的视图上有一个剑道UI网格。但不幸的是,控制器中没有命中读取功能。这很烦人,我遇到了同样的问题,尽管所有的问题似乎都符合上提供的文档。以下是我的查看代码:Kendo ui 剑道UI网格未调用读取方法,kendo-ui,kendo-grid,kendo-asp.net-mvc,Kendo Ui,Kendo Grid,Kendo Asp.net Mvc,根据要求,我的视图上有一个剑道UI网格。但不幸的是,控制器中没有命中读取功能。这很烦人,我遇到了同样的问题,尽管所有的问题似乎都符合上提供的文档。以下是我的查看代码: @(Html.Kendo().Grid<StudentManagement_Models.Student>() .Name("studentsGrid") .Columns(columns => { columns.Bound(p => p.Id).Groupable(false); c
@(Html.Kendo().Grid<StudentManagement_Models.Student>()
.Name("studentsGrid")
.Columns(columns =>
{
columns.Bound(p => p.Id).Groupable(false);
columns.Bound(p => p.FirstName);
columns.Bound(p => p.MiddleName);
columns.Bound(p => p.LastName);
columns.Bound(p => p.CGPA);
})
.AutoBind(true)
.Pageable()
.Navigatable()
.Sortable()
.DataSource(dataSource => dataSource
.Ajax()
.Read(read => read.Action("GetAllStudents", "Student"))
)
)
我该如何处理这个问题?我是否遗漏了什么?请建议
提前感谢。尝试使用JQuery的document.ready调用read方法 $document.readyfunction { var grid=$studentsGrid.datakendoGrid grid.dataSource.read }
savedStudent也是一种学生。。。。您的网格已绑定到Student,但您正在返回SavedStudent对象在页面中添加此文件的所有内容
<script src="~/Script/Jquery-1.8.1.min.js" type="text/javascript"></script>
<script src="~/Script/jquery-ui-1.8.20.min.js" type="text/javascript"></script>
<script src="@Url.Content("~/Script/kendo.all.min.js")" type="text/javascript"></script>
<script src="~/Script/kendo.web.min.js" type="text/javascript"></script>
<script src="~/Script/kendo.aspnetmvc.min.js" type="text/javascript"></script>
<link href="~/Content/kendo.common.min.css" rel="stylesheet" type="text/css" />
<link href="~/Content/kendo.default.min.css" rel="stylesheet" type="text/css" />
我认为你的页面中有一个js出错了,可能是Jquery-1.8.1.min.js。我对MVC版本也有类似的问题 我注意到我得到了一个404,但当在Chrome调试器中单击404'd链接时,它确实会击中我的控制器方法。然后我注意到它正在使用POST,我有HttpVerbs.Get指定 然后我从以下地方找到了这个: 默认情况下,ASP.NET MVC的剑道网格应在 配置为ajax绑定。这是由一个定制的 数据源传输和模式。这些定义见 kendo.aspnetmvc.min.js。请确保此文件包含在 其他剑道JavaScript文件 在验证脚本的顺序是否正确并知道它可能与POST有关后,我在网格中指定了在阅读结束时使用的动词,如下所示:
.Read(read => read.Action("MyList_Read", "Diagnosis").Type(HttpVerbs.Get))
这就解决了我的问题。默认情况下,ASP.NET MVC的剑道网格在配置为ajax绑定时应该发出POST请求???
对于剑道用户界面版本2014.1.318,我认为默认情况下,asp.net mvc剑道网格在配置为ajax绑定时会发出GET请求。我发现,在这种情况下,如果同一网页上有两个网格,则在不同的选项卡中,然后,每个网格在MVC控制器中都必须有自己的数据源方法-即使两个网格使用相同的数据,我认为您必须添加这个kendo.aspnetmvc.min.js kendo js。@Jaimin,我已经添加了前面提到的js文件,如果没有,您可以发送完整的代码示例。。。在Google Chrome中启动你的应用程序,右键单击页面上的任意位置,然后从选项中选择Inspect element。。。。元素控制台加载在页面底部,包含以下选项。。。元素、资源、网络、来源。。。和控制台。。。如果选择console,则可以看到引发的异常。。。如果你点击异常,它将带你到它被提出的点。。。让我知道你是否解决了问题..ThanksI理论上是在添加js文件,但实际上并不是因为我在遵循@david enitan提到的建议后发现了一些引用错误。我也解决了我的问题。伙计,我很高兴我找到了这个!谢谢你。在我的例子中,网格也使用Ajax发送POST请求。添加Get将强制它发送Get请求。然而,还有另一个问题。我必须将JsonRequestBehavior.AllowGet添加到我的操作中,以使其能够处理GET请求。
.Read(read => read.Action("MyList_Read", "Diagnosis").Type(HttpVerbs.Get))