or

var FieldsDataSource = new kendo.data.DataSource({transport: {read: {url: "../WebServiceAddress",dataType: "json",type: "POST",contentType: 'application/json; charset=utf-8',cache: false}, parameterMap: function() {return "{some mapping that has been confirmed to work}";},schema: {data: function (data) {if (data && data.d) {//execution gets to here and stopsreturn data.d; }else {return [];}},} });FieldsDataSource.read(function() {var data = this.data();if (data.length > 0) {for (var i = 0; i < data.length; i++) {var dataitem = data[i].Key;$("#" + dataitem + "_field").prop("checked", data[i].Value);}}});}@(Html.Kendo().Grid<Entity>(Model) .Name("valueGrid") .ToolBar(commands => commands.Create()) .Columns(columns => { columns.Bound(c => c.DOMAINID); columns.Bound(c => c.CODE); columns.Bound(c => c.VALUE); columns.Command(command => { command.Edit(); command.Destroy(); }); }) .Sortable() .Scrollable() .DataSource(dataSource => dataSource .Ajax() .ServerOperation(false) .Model(m => m.Id(v => v.DOMAINID)) .Update(update => update.Action("UpdateValue", "DomainValue")) .Create(create => create.Action("CreateValue", "DomainValue")) .Destroy(delete => delete.Action("DeleteValue", "DomainValue")) ) )[AcceptVerbs(HttpVerbs.Post)]public ActionResult CreateValue([DataSourceRequest] DataSourceRequest request, Value domValue){ if (ModelState.IsValid) { db.Values.Add(domValue); db.SaveChanges(); } DataSourceResult result = db.Values.Where(v => v.DOMAINID == domValue.DOMAINID).ToDataSourceResult(request, ModelState); return Json(result);}