We want to move all our calls sever side so we got half way there but there are issues.
We have the following code that partially works
<
kendo-datasource
ref
=
"datasourceSpike"
:page-size
=
100
:serverFiltering
=
true
:serverSorting
=
true
:serverPaging
=
true
:serverGrouping
=
true
:schema-data
=
"'data.data'"
:schema-total
=
"'data.total'"
:schema-groups
=
"'data.groups'"
:transport-read
=
"readData"
></
kendo-datasource
>
readData(e) {
this
.$OurApi
.getList(e.data)
.then((response) => {
e.success(response);
});
},
And server side: (actually only got this bit to work half way if I change the type of the DataSourceRequest parameter to string and then jsonconvert it.)
public
HttpResponseMessage GetListTest([System.Web.Http.ModelBinding.ModelBinder(
typeof
(WebApiDataSourceRequestModelBinder))]DataSourceRequest dataSourceRequest)
{
// DataSourceRequest request = JsonConvert.DeserializeObject<DataSourceRequest>(dataSourceRequest);
IRequestService requestService =
new
ServiceFactory().GetRequestService();
List<RequestsList> requestsLists = requestService.GetList(
);
var dataSourceResult = requestsLists.ToDataSourceResult(dataSourceRequest);
etc...
}
The problem the properties in e.data do not match the properties in DataSourceRequest.
"take":100,"skip":100,"page":2,"pageSize":100 These ones work but the filter, sort, group properties dont have the same names. Im trying to figure out if I need to use an existing parametermap but still have no luck.