剑道网格将数据发送回控制器为空
Kendo grid posting the data back to controller as null
当我试图发布整个剑道网格回来时,我没有在控制器中接收对象,它是空的。我在工具栏上添加了一个自定义按钮,当我点击它时,它应该做一个帖子回来。小提琴手的请求显示正在发回的数据,但我不能在控制器接收它?
这是从fiddler捕获的,HTTP POST请求
POST http://localhost:59457/api/data/SaveBill HTTP/1.1主持人:localhost: 59457连接:维生内容长度:24接受:application/json, text/plain, /来源:http://localhost: 59457用户代理:Mozilla/5.0 (Windows NT 6.1;Win64;x64) AppleWebKit/537.36 (KHTML,像Gecko) Chrome/48.0.2564.116 Safari/537.36内容类型:application/json; charset = utf - 8推荐人:http://localhost: 59457/Accept-Encoding: gzip, deflate接收语言:en - us, en; q = 0.8
[{" Id ": 1、"名称":"约翰"}]
控制器上的代码
public IHttpActionResult SaveBillingGroupMap([FromBody]test models)
{
var x = HttpContext.Current.Request.InputStream;
//var employees = this.DeserializeObject<IEnumerable<test>>("models");
throw new NotImplementedException();
}
public class test
{
public int Id { get; set; }
public string Name { get; set; }
}
JS上的代码(angular)
$scope.mockdata = new kendo.data.ObservableArray([{
"Id": 1,
"Name": "John"
}, {
"Id": 2,
"Name": "Joe"
}, {
"Id": 3,
"Name": "Jack"
}]);
$scope.sportsGrid = new kendo.data.DataSource({
// data: $scope.mockdata,
transport: {
read: function (e) {
e.success($scope.mockdata);
},
update: function (e) {
console.log("Update", e);
},
destroy: function(e) {
console.log("Destroy", e);
},
create: function(e) {
console.log("Create", e);
},
parameterMap: function (options, operation) {
if (operation !== "read" && options.models) {
return {
models: kendo.stringify(options.models)
};
}
}
},
batch: false,
pageSize: 5,
change: function (e) {
console.log("change: " +e.action);
if (e.action === "remove") {
this.sync();
}
// do something with e
},
schema: {
model: {
id: "Id",
fields: {
Id: {
type: "number"
},
Name: {
type: "string"
}
}
}
}
});
$scope.options = {
sortable: true,
pageable: true,
editable: true,
toolbar: ["create", "cancel", {
text: "Custom"
}],
columns: [{
field: "Id",
title: "ID"
}, {
field: "Name",
title: "Name"
}, {
command: ["destroy"],
title: " ",
width: "150px"
}],
edit: function(e) {
if (e.model.Name == "Joe") {
this.closeCell();
}
}
};
$("#sportsSetupGrid").on("click", ".k-grid-Custom", function (e) {
var models = JSON.stringify($("#sportsSetupGrid").data().kendoGrid._data);
$http({
method: 'POST',
url: 'api/data/SaveBill',
data: models,
contentType: "application/json",
dataType:"JSON"
});
e.preventDefault()
});
这是html
<div kendo-grid k-options="options" k-data-source="sportsGrid" id="sportsSetupGrid" ></div>
您在javascript中调用动作方法SaveBill
,并且您在控制器中的动作方法名称为SaveBillingGroupMap
。纠正这个错误,它就会在控制器
相关文章:
- 在指令控制器中使用$attrs时出现问题
- 有没有任何方法可以将控制器从文件加载到ui路由器$stateProvider中
- 剑道网格jQuery动画()问题
- 使用Dnamics CRM 2011中的JavaScript读取子网格的所有记录,而不考虑活动页面
- 我可以更改剑道UI网格吗's的外键值
- 从控制器返回后Ajax启动事件激发
- 获取@ResponseBody的一部分作为主干和Spring MVC控制器之间的参数
- 如何在单击复选框后调用控制器方法
- 网格中的更新值不会显示在javaspring控制器上
- 在角度控制器中动态创建剑道网格列
- 使用控制器中对象的位置 x,y 创建一个动态网格或表格 - 引导程序,AngularJS
- 将angularjs网格数据从一个控制器暴露到另一个控制器
- Extjs将事件添加到控制器的网格中的按钮中
- AngularJS和'控制器为'ui网格语法
- 如何从MVC控制器文件中使用查询组件选择extjs网格动作列
- 剑道网格将数据发送回控制器为空
- 如何通过ajax调用将已删除的行名从jQuery中的网格传递到控制器(服务器端)
- Sencha-Extjs-如何从控制器动态使用网格getRowClass()
- 我需要在angularjs控制器中引用用typescript编写的剑道网格
- Post剑道网格数据到MVC中的控制器