Asp.net mvc 4 如何在剑道网格的ajaxcreate中发送附加数据

Asp.net mvc 4 如何在剑道网格的ajaxcreate中发送附加数据,asp.net-mvc-4,kendo-grid,Asp.net Mvc 4,Kendo Grid,我能够使用这样的模式向剑道网格的AJAX读取操作发送额外的数据 @(Html.Kendo().Grid<ModelClass>() .DataSource(dataSource => dataSource .Ajax() .Read(read => read.Action("Read", "Controller").Data("getAdditionalData")) function getAdditionalData() { r

我能够使用这样的模式向剑道网格的AJAX读取操作发送额外的数据

@(Html.Kendo().Grid<ModelClass>()
   .DataSource(dataSource => dataSource
      .Ajax()
      .Read(read => read.Action("Read", "Controller").Data("getAdditionalData"))

function getAdditionalData() {
    return {
        AdditionalData: 'data'
    };
}

public ActionResult Read([DataSourceRequest] DataSourceRequest request, String additionalData)
{
}
这是怎么做到的?或者如何将其他数据传递给AJAX创建操作

参考文件:

使用解决方案更新:

实际上,网格的视图模型(如ModelClass)和客户端数据模型之间不能有字段名(如附加数据复制)。这在问题中并不明显,因为我清理了要发布的代码。不确定这是否发生在javascript、MVC或Telerik层

解决方案是将客户端数据模型的字段名更改为与网格视图模型中的字段名不同

使用其他解决方案更新:

另一个选项是设置网格视图模型中字段的默认值,以进行如下创建操作:

.DataSource(dataSource => dataSource
    .Ajax()
    .Model(model => {
        model.Field(x => x.Id)              // Set default value for grid model field
            .DefaultValue(Model.DefaultId); // as provided by controller in view model.
    })

我也有同样的问题,我解决了

public ActionResult Create([DataSourceRequest] DataSourceRequest request, ModelClass model, String additionalData)
在这一行中,将字符串更改为字符串,将additionalData更改为additionalData,与js中的单词相同

在DataSource的.Events子句中,还有一件事没有放在.RequestEndgetAdditionalData的末尾

正常情况下,它会起作用

希望有帮助

public ActionResult Create([DataSourceRequest] DataSourceRequest request, ModelClass model, String additionalData)