Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kendo ui 剑道UI网格未调用读取方法_Kendo Ui_Kendo Grid_Kendo Asp.net Mvc - Fatal编程技术网

Kendo 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

根据要求,我的视图上有一个剑道UI网格。但不幸的是,控制器中没有命中读取功能。这很烦人,我遇到了同样的问题,尽管所有的问题似乎都符合上提供的文档。以下是我的查看代码:

 @(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))