我有JSON:
[{"id":1,"user_id":"8","project_id":"1","mode":3},{"id":1,"user_id":"8","project_id":"2","mode":1},{"id":1,"user_id":"8","project_id":"3","mode":1}]
所以,我尝试将它发送到服务器:
$.ajax({
url : "User/Permissions_Set",
dataType: 'json',
type: 'POST',
data: JSON.stringify(permissions_JSON),
success: function (data) {
console.log(data);
}
});
在Serverside上:
[HttpPost]
public void Permissions_Set(List<Permission> permissions_JSON)
{
foreach (var permission_from_view in permissions_JSON)
{
var permission_from_db = db.Permissions.Where(prm => prm.project_id == permission_from_view.project_id && prm.user_id == permission_from_view.user_id).FirstOrDefault();
permission_from_db.mode = permission_from_view.mode;
}
db.SaveChanges();
}
但我附近有错误&#34; foreach&#34;: 对象引用未设置为对象的实例。
我认为列出权限_JSON的问题, 但我的模特&#34;许可&#34;有属性&#34; id&#34;,&#34; user_id&#34;,&#34; project_id&#34;,&#34; mode&#34;
请告知我如何在服务器端从客户端接收JSON。
更新
现在我已经改变了jquery,它返回了成功的结果。 但无论如何我无法使用permissions_JSON。 那么,是否可以使用permissions_JSON而不是&#34; List&#34;,但是像JSON一样。 可能,你,请任何人建议如何收到它,并在C#中使用它...
提前致谢。
答案 0 :(得分:1)
编辑:尝试这样做:
var bob = {permissions_JSON:[{ id: 1, user_id: 8, project_id: 1, mode: 3}]};
request.permissions_JSON = bob;
$.ajax({
url: "Home/Permissions_Set",
dataType: 'json',
type: 'POST',
contentType: 'application/json;',
data: JSON.stringify(bob),
success: function (data) {
console.log(data);
}
});
创建一个新对象。将集合附加到该对象。确保对象上的集合与参数同名。