1

我有如下所示的 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"))
)
)

对此的帮助将不胜感激..!

4

3 回答 3

2

检查故障排除帮助主题:http ://docs.kendoui.c​​om/getting-started/using-kendo-with/aspnet-mvc/helpers/grid/troubleshooting

您没有包含kendo.aspnetmvc.min.js

于 2012-09-24T20:29:18.350 回答
2

是的,您可以从客户端代码中指定 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))

于 2013-06-06T20:57:51.730 回答
1

确保你没有使用 jQuery 1.8,我的控件也有类似的问题,结果证明是 1.8 的兼容性问题。

于 2012-09-24T20:35:37.067 回答