在Kendo Docs中找到的Ajax绑定期间使用客户端数据处理,我发现很难将Json数组映射到MVC ModelBinder。
@(Html.Kendo()
.Grid<PickerDocumentViewModel>()
.Name("DocumentAttachments")
.DataSource(dataSource => dataSource
.Ajax()
.Read(read => read
.Action("PickerDocuments", "DocumentRepository")
.Data("GetSelectedDocuments")))
.Columns(columns =>
{
...
}))
JavaScript函数GetSelectedDocuments返回PickerDocumentViewModel的Json数组。使用FireBug,我发现Post数据看起来最不寻常:
0[Description] Doug
0[EditedDateTime] Fri Sep 13 2013 15:06:44 GMT-0400 (Eastern Standard Time)
0[FileExtension] txt
1[Description] a
1[EditedDateTime] Mon Sep 09 2013 18:21:56 GMT-0400 (Eastern Standard Time)
1[FileExtension] docx
与MVC期望的对象列表如何进入相反:
[0].Description Doug
那么,我也可以 1.改变Kendo如何形成发布数据以使用标准MVC List ModelBinding的方式?
public ActionResult PickerDocuments([DataSourceRequest]DataSourceRequest request, IList<PickerDocumentViewModel> viewModels)
{