Angularjs 击中MVC控制器时,角度剑道网格过滤器和排序信息丢失
我在从剑道网格获取过滤器和排序信息到MVC控制器时遇到问题。我使用服务将表单数据和数据源数据传递给MVC控制器 这是我的剑道网格数据源:Angularjs 击中MVC控制器时,角度剑道网格过滤器和排序信息丢失,angularjs,asp.net-mvc,kendo-grid,Angularjs,Asp.net Mvc,Kendo Grid,我在从剑道网格获取过滤器和排序信息到MVC控制器时遇到问题。我使用服务将表单数据和数据源数据传递给MVC控制器 这是我的剑道网格数据源: dataSource: new kendo.data.DataSource({ transport: { read: function (e) { generalsearchService.submitSearch(e.data, form)
dataSource: new kendo.data.DataSource({
transport: {
read: function (e) {
generalsearchService.submitSearch(e.data, form)
.then(function success(response) {
e.success(response.data);
});
}
},
schema: {
data: "Data",
total: "Total"
},
pageSize: 25,
serverPaging: true,
serverFiltering: true,
serverSorting: true
}),
以下是我服务中的代码:
this.submitSearch = function (command, form) {
return $http.post('/SSQV4/SSQV5/Search/SubmitCriteria', {'command': command, 'form': form});
})
以下是我的MVC控制器方法定义:
public async Task<ActionResult> SubmitCriteria(DataSourceRequest command, ContractorSearchViewModel form)
公共异步任务
当它点击服务时,过滤器信息就在那里:
当它击中MVC控制器时,它就消失了:
我尝试包括'type:'aspnetmvc ajax',但它抛出以下错误:
非常感谢您的帮助 必须手动将aspnetmvc服务器“注入”到传输中才能使其正常工作。以下是修复方法:
在Angularjs控制器中:
var form = $scope.form;
dataSource: new kendo.data.DataSource({
transport: {
read: function (e) {
var grid = $scope.SearchGrid;
var requestObject = (new kendo.data.transports["aspnetmvc-server"]({ prefix: "" }))
.options.parameterMap({
page: grid.dataSource.page(),
sort: grid.dataSource.sort(),
filter: grid.dataSource.filter(),
pagesize: grid.dataSource.pageSize()
});
generalsearchService.submitSearch({ page: requestObject.page, sort: requestObject.sort, filter: requestObject.filter, pagesize: requestObject.pagesize, form: form })
.then(function success(response) {
e.success(response.data);
});
}
},
schema: {
data: "Data",
total: "Total"
},
pageSize: 25,
serverPaging: true,
serverFiltering: true,
serverSorting: true
this.submitSearch = function (form) {
return $http.post('/SSQV4/SSQV5/Search/SubmitCriteria', form );
public async Task<ActionResult> SubmitCriteria([DataSourceRequest] DataSourceRequest request, ContractorSearchViewModel form)
在Angularjs服务中:
var form = $scope.form;
dataSource: new kendo.data.DataSource({
transport: {
read: function (e) {
var grid = $scope.SearchGrid;
var requestObject = (new kendo.data.transports["aspnetmvc-server"]({ prefix: "" }))
.options.parameterMap({
page: grid.dataSource.page(),
sort: grid.dataSource.sort(),
filter: grid.dataSource.filter(),
pagesize: grid.dataSource.pageSize()
});
generalsearchService.submitSearch({ page: requestObject.page, sort: requestObject.sort, filter: requestObject.filter, pagesize: requestObject.pagesize, form: form })
.then(function success(response) {
e.success(response.data);
});
}
},
schema: {
data: "Data",
total: "Total"
},
pageSize: 25,
serverPaging: true,
serverFiltering: true,
serverSorting: true
this.submitSearch = function (form) {
return $http.post('/SSQV4/SSQV5/Search/SubmitCriteria', form );
public async Task<ActionResult> SubmitCriteria([DataSourceRequest] DataSourceRequest request, ContractorSearchViewModel form)
})
在MVC控制器中:
var form = $scope.form;
dataSource: new kendo.data.DataSource({
transport: {
read: function (e) {
var grid = $scope.SearchGrid;
var requestObject = (new kendo.data.transports["aspnetmvc-server"]({ prefix: "" }))
.options.parameterMap({
page: grid.dataSource.page(),
sort: grid.dataSource.sort(),
filter: grid.dataSource.filter(),
pagesize: grid.dataSource.pageSize()
});
generalsearchService.submitSearch({ page: requestObject.page, sort: requestObject.sort, filter: requestObject.filter, pagesize: requestObject.pagesize, form: form })
.then(function success(response) {
e.success(response.data);
});
}
},
schema: {
data: "Data",
total: "Total"
},
pageSize: 25,
serverPaging: true,
serverFiltering: true,
serverSorting: true
this.submitSearch = function (form) {
return $http.post('/SSQV4/SSQV5/Search/SubmitCriteria', form );
public async Task<ActionResult> SubmitCriteria([DataSourceRequest] DataSourceRequest request, ContractorSearchViewModel form)
公共异步任务提交标准([DataSourceRequest]DataSourceRequest请求,ContractorSearchViewModel表单)
一切正常。希望这对其他人有帮助。快乐编码