使用 Kendo 网格读取操作发布模型
Posting a model with Kendo Grid read action
我正在尝试将搜索表单添加到我的页面以更新 Kendo 网格。我应该如何发送 Ajax 调用,以便 ASP.NET MVC Model Binder 能够工作?
这是我的 Ajax 电话:
var grid = $("#SearchSheetHeads").data('kendoGrid');
var data = $("#SearchSheet").serialize();
grid.dataSource.transport.options.read.url = "@Url.Action("SearchHeaderRead", "Sheet")";
grid.dataSource.transport.options.read.data = data;
grid.dataSource.transport.options.read.dataType = 'json';
grid.dataSource.transport.options.read.contentType = "application/json";
grid.dataSource.transport.options.read.type = "POST";
grid.dataSource.fetch();
我也尝试过 stringify
方法并删除 contentType
.
这是我的动作签名:
public ActionResult SearchHeaderRead([DataSourceRequest] DataSourceRequest request, SearchSheetHeaderViewModel model)
请求如下所示:
你能把第二行改成下面的样子试试吗
var data = $("#SearchSheetHeads").data('kendoGrid').dataSource.data();
目前无法测试,但可以尝试这样的操作:
var grid = $("#SearchSheetHeads").data('kendoGrid');
var data = $("#SearchSheet").serialize();
$.ajax(
{
type: 'POST',
url: '@Url.Action("SearchHeaderRead", "Sheet")',
dataType: 'json',
data: { model: data },
success: function (result) {
grid.dataSource.data(result.Data);
}
});
data: { model: data }
可能对您来说是重要的部分。
我正在尝试将搜索表单添加到我的页面以更新 Kendo 网格。我应该如何发送 Ajax 调用,以便 ASP.NET MVC Model Binder 能够工作?
这是我的 Ajax 电话:
var grid = $("#SearchSheetHeads").data('kendoGrid');
var data = $("#SearchSheet").serialize();
grid.dataSource.transport.options.read.url = "@Url.Action("SearchHeaderRead", "Sheet")";
grid.dataSource.transport.options.read.data = data;
grid.dataSource.transport.options.read.dataType = 'json';
grid.dataSource.transport.options.read.contentType = "application/json";
grid.dataSource.transport.options.read.type = "POST";
grid.dataSource.fetch();
我也尝试过 stringify
方法并删除 contentType
.
这是我的动作签名:
public ActionResult SearchHeaderRead([DataSourceRequest] DataSourceRequest request, SearchSheetHeaderViewModel model)
请求如下所示:
你能把第二行改成下面的样子试试吗
var data = $("#SearchSheetHeads").data('kendoGrid').dataSource.data();
目前无法测试,但可以尝试这样的操作:
var grid = $("#SearchSheetHeads").data('kendoGrid');
var data = $("#SearchSheet").serialize();
$.ajax(
{
type: 'POST',
url: '@Url.Action("SearchHeaderRead", "Sheet")',
dataType: 'json',
data: { model: data },
success: function (result) {
grid.dataSource.data(result.Data);
}
});
data: { model: data }
可能对您来说是重要的部分。