我有如下所示的KendoUI网格实现,它将数据拉入并显示到网格中, 但是在创建或更新时它无法正常工作,因为它始终向服务器发出Get请求,
控制器方法标记为post以进行创建和更新 - [AcceptVerbs(HttpVerbs.Post)] 我们可以从客户端代码中指定Http方法吗?
同样排序也存在同样的问题,Kendo UI显示的示例演示应用程序都使得Post方法,但是这个得到了get,所以它没有正确地将排序相关对象传递给控制器方法
@(Html.Kendo().Grid<Model.Storage>()
.Name("Grid")
.Columns(columns => {
columns.Bound(p => p.Id);
columns.Bound(p => p.Name);
columns.Bound(p => p.Path);
columns.Bound(p => p.Default);
columns.Command(command => { command.Edit(); });
})
.ToolBar(toolbar => toolbar.Create())
.Editable(editable => editable.Mode(GridEditMode.InLine))
.Pageable()
.Sortable()
.Scrollable()
.DataSource(dataSource => dataSource
.Ajax()
.Events(events => events.Error("error_handler"))
.Model(model => model.Id(p => p.Id))
.Create(update => update.Action("EditingInline_Create", "Storage"))
.Read(read => read.Action("EditingInline_Read", "Storage"))
.Update(update => update.Action("EditingInline_Update", "Storage"))
)
)
对此的帮助将非常感谢..!
答案 0 :(得分:2)
查看问题排查帮助主题:http://docs.kendoui.com/getting-started/using-kendo-with/aspnet-mvc/helpers/grid/troubleshooting
您尚未加入 kendo.aspnetmvc.min.js 。
答案 1 :(得分:1)
确保你没有使用jQuery 1.8,我的控件遇到了类似的问题,结果证明是与1.8的兼容性问题。
答案 2 :(得分:1)
是的,您可以从客户端代码中指定HttpMethod。将DataSource方法更改为如下所示:
.Create(update => update.Action("EditingInline_Create", "Storage").Type(HttpVerbs.Post))
.Read(read => read.Action("EditingInline_Read", "Storage").Type(HttpVerbs.Post))
.Update(update => update.Action("EditingInline_Update", "Storage").Type(HttpVerbs.Post))
HTH!