我的后端代码(MVC)中有一个列表,当我使用api访问数据时,在我的列表中,我可以看到附加了名为$ id的属性。我不希望这发生。我该怎么办?
这是我的清单:
var IList<sponsor> result=getSponser(id);
return this.ok(result)
当使用控制器中的动作方法从api(angualrjs)访问它时。 输出是:
{
"$id":"2",
"Sponsor":
{
"$id":"3",
"Id":3,
"Name":"testing sponsor",
"LogoPath":null,
"Address":null,
"ContactNumber":null,
"Country":null
},
"User":
{
"$id":"4",
"Id":7031,
"UserName":"priteshabc",
"IsActive":true,
"CreatedDate":"0001-01-01T00:00:00",
"LastLoginDate":"0001-01-01T00:00:00",
"RoleId":2,
"Password":null,
"IsPasswordChanged":false
},
"Id":1026,
"UserName":null,
"FullName":"asdfasdf",
"FirstName":null,
"LastName":null,
"Email":"pretsh@aksdf.asdff",
"Countries":
[
{"$id":"1","Id":1,"Name":"Afghanistan","Code":"AF"},
{"$id":"4","Id":4,"Name":"American Samoa","Code":"AS"},
{"$id":"7","Id":7,"Name":"Anguilla","Code":"AI"},
{"$id":"9","Id":9,"Name":"Antigua and Barbuda","Code":"AG"},
{"$id":"10","Id":10,"Name":"Argentina","Code":"AR"}
],
"Country":null,
"PhoneNumber":"1354535151581",
"IsActive":null,
"Address":"asdfasdf"
}
您可以看到赞助商,用户和国家/地区对象都有一个名为$ id的属性。我需要从C#级别本身删除它。怎么办?
答案 0 :(得分:0)
好的,我得到了答案。以前我在做什么
return this.ok(result) //=>this will cause generating $id property automatically in result of the get method(api side)
当我在发送的数据中使用$ id时,我在post方法中的模型状态验证中遇到了问题(只有当不同对象有相同的$ id时)
所以我用
替换了它 return json(result)
答案 1 :(得分:0)
尝试从服务器返回serializeObject
,然后在jS中使用
var data = JSON.parse(res);