JSON对象属性来了为NULL [英] JSON Object Properties are coming as NULL
问题描述
我在ASP.Net MVC剑道UI电网。我试图 JSON
对象传递给控制器。虽然我在控制器中得到一个对象,属性都来为 NULL
(名字,姓氏)。我们如何纠正?
请注意:对象不是null;但属性是空的对象
JSON
VAR NewPerson =新的对象();
NewPerson.FirstName =A;
NewPerson.LastName =B; VAR json1 = {myPerson:NewPerson};
返回json1;
的JavaScript
$(< DIV />中)。appendTo(e.detailCell).kendoGrid({
数据源: {
类型:aspnetmvc阿贾克斯
运输: { 数据类型:JSON
//,键入:POST
阅读:{
网址:首页/ GetItemsData
数据:功能()
{
VAR NewPerson =新的对象();
NewPerson.FirstName =A;
NewPerson.LastName =B; VAR json1 = {myPerson:NewPerson};
返回json1;
}
} },
模式:{
型号:{
字段:{
程序:{
ITEMID:数字,
},
ItemDescription:{类型:串}
}
},
总说:总,
数据:项目
},
serverPaging:真实,
serverSorting:真实,
serverFiltering:真实,
每页:5
},
滚动:假的,
排序:真实,
分页:真实,
列: [
{域:项ID,名称:项目标识,宽:70像素},
{场:ItemDescription,标题:项目说明宽110px}
]
});
控制器
公共JsonResult GetItemsData(人myPerson,[DataSourceRequest] DataSourceRequest要求)
{
}
我解决了问题。对于其他人的利益,我将在这里把解决方案。
当我删除了NewPerson变量的问题得到了解决。现在我直接赋值给myPerson。和相应的网络流量如下。
VAR myPerson = {};
myPerson.FirstName =A;
myPerson.LastName =B; 数据:功能()
{ 返回myPerson;
}
更新
有关的getJSON方法,语法将如下图所示,在更好的JSON数据结构一>
VAR searchCriteria = {};
searchCriteria.Accrual =A;
searchCriteria.Brand =B;$ .getJSON(URL,searchCriteria
,功能(数据){
如果(data.length){
警报(成功);
}});
I have Kendo UI grid in ASP.Net MVC. I am trying to pass JSON
object to controller. Though I am getting an object in the controller, the properties are coming as NULL
(FirstName, LastName). How can we correct it?
Note: The object is not null; but the properties are null in the object
JSON
var NewPerson = new Object();
NewPerson.FirstName = "A";
NewPerson.LastName = "B";
var json1 = { myPerson: NewPerson };
return json1;
JavaScript
$("<div/>").appendTo(e.detailCell).kendoGrid({
dataSource: {
type: "aspnetmvc-ajax",
transport: {
dataType: "json",
//,type: "POST"
read: {
url: "Home/GetItemsData",
data: function ()
{
var NewPerson = new Object();
NewPerson.FirstName = "A";
NewPerson.LastName = "B";
var json1 = { myPerson: NewPerson };
return json1;
}
}
},
schema: {
model: {
fields: {
Program: {
ItemID: "number",
},
ItemDescription: { type: "string" }
}
},
total: "Total",
data: "Items"
},
serverPaging: true,
serverSorting: true,
serverFiltering: true,
pageSize: 5
},
scrollable: false,
sortable: true,
pageable: true,
columns: [
{ field: "ItemID", title: "Item Id", width: "70px" },
{ field: "ItemDescription", title: "Item Description", width: "110px" }
]
});
Controller
public JsonResult GetItemsData(Person myPerson, [DataSourceRequest] DataSourceRequest request)
{
}
I resolved the issue. For the benefit of others I will put the solution here.
The issue got resolved when I removed the NewPerson variable. Now I am directly assigning values to the myPerson. And the corresponding network traffic is listed below.
var myPerson = {};
myPerson.FirstName = "A";
myPerson.LastName = "B";
data: function ()
{
return myPerson;
}
UPDATE
For getJSON Method, the syntax will be as shown below, as mentioned in Better JSON data structure
var searchCriteria = {};
searchCriteria.Accrual = "A";
searchCriteria.Brand = "B";
$.getJSON(url, searchCriteria
, function (data) {
if (data.length) {
alert('Success');
}
});
这篇关于JSON对象属性来了为NULL的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!